【问题标题】:Differences between scanf and getchar in C [closed]C中scanf和getchar之间的区别[关闭]
【发布时间】:2015-07-17 22:54:32
【问题描述】:

我试图向我的朋友解释一些关于 C 编码的事情,他问我为什么他的代码(带有“scanf”)不起作用。

#包括

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;
}

【问题讨论】:

标签: c scanf getchar


【解决方案1】:

scanf 完成后,x 包含已读取的字符。但是,当 x 被分配返回值 scanf(即成功匹配的项目数或发生错误时的 EOF)时,该值会立即被覆盖。

如果您调用scanf 而不将返回值分配给x,您应该会得到预期的结果。

例如,这应该可以工作。

char x;
scanf("%c",&x);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 2023-03-17
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 2016-12-05
    相关资源
    最近更新 更多