尝试教学生如何在C中使用scanf / printf语句。我意识到这种方法已经过时,但必须从某处开始。此外,Visual Studios是大学的标准
我们的代码如下所示
#include<stdio.h>
int main()
{
char b = '';
scanf(%c, &b);
printf("%c", b);
return 0;
}
然而,它正在读取“返回”作为b的字符。 我不熟悉Visual工作室,因为我试图避免它。 有什么建议吗?
答案 0 :(得分:2)
几个想法。
首先,发布的程序中的错误已经指出。
其次,scanf
的引言没有完整,但没有涵盖返回数字匹配输入的事实。
最后,返回字符是有效字符。该程序将获取输入的第一个字符,因此如果您只输入\n
,则scanf
会准确地获取它。 (编辑:添加输入的字符的整数等效输出以强调此点。)
#include<stdio.h>
int main()
{
char b;
if( scanf("%c", &b) == 1){
printf("Entered char # %i: %c\n", (int)b, b);
return 0;
}
else {
return 127;
}
}