我试图向我的朋友解释有关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;
}
答案 0 :(得分:1)
scanf
完成后,x
包含已读取的字符。但是,当x
分配了scanf
的返回值时,会立即覆盖该值,这是成功匹配的项目数或发生错误时的EOF。
如果您在未将返回值分配给scanf
的情况下致电x
,则应获得预期结果。
例如,这应该有用。
char x;
scanf("%c",&x);