
为什么这段代码我输入0打印出来的值是48,getchar()这个函数它返回整数的机制到底是怎样的啊?
以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
getchar()函数是C语言中的一个标准输入函数,用于从标准输入设备(通常是键盘)读取一个字符。它的返回值是读取到的字符的ASCII码值。
在ASCII码表中,数字0的ASCII码值为48,所以当你输入0时,getchar()函数返回的是48。这就是为什么你看到输出值为48的原因。
如果你想要在输入0时输出0,可以将getchar()函数的返回值直接赋值给一个字符变量,然后使用%c格式符进行输出。示例代码如下:
#include<stdio.h>
int main(void)
{
char a;
a = getchar();
printf("%c
",a);
return 0;
}