C语言中scanf和getchar的区别
Differences between scanf and getchar in C
我试图向我的朋友解释一些关于 C 编码的事情,他问我为什么他的代码("scanf")不起作用。
#include
int main() {
char x=scanf("%c",&x);
printf("%c\n",x);
return 0;
}
还有这个
#include <stdio.h>
int main()
{
int k;
char x=getchar
printf("%c\n",x);
return 0;
}
当 scanf
完成时,x
包含读取的字符。但是,当 x
被赋予 scanf
的 return 值时,该值会立即被覆盖,这是成功匹配的项目数或出现错误时的 EOF。
如果您调用 scanf
而未将 return 值分配给 x
,您应该会得到预期的结果。
例如,这应该有效。
char x;
scanf("%c",&x);
我试图向我的朋友解释一些关于 C 编码的事情,他问我为什么他的代码("scanf")不起作用。
#include
int main() {
char x=scanf("%c",&x);
printf("%c\n",x);
return 0;
}
还有这个
#include <stdio.h>
int main()
{
int k;
char x=getchar
printf("%c\n",x);
return 0;
}
当 scanf
完成时,x
包含读取的字符。但是,当 x
被赋予 scanf
的 return 值时,该值会立即被覆盖,这是成功匹配的项目数或出现错误时的 EOF。
如果您调用 scanf
而未将 return 值分配给 x
,您应该会得到预期的结果。
例如,这应该有效。
char x;
scanf("%c",&x);