今天找了一天的资料也没有弄清这两个程序的区别。。。。scanf()和getchar()两个看似一样的函数,可是到了这里却出了这么大问题,给大家看看。
#include
int main(int argc, char *argv[])
{
char c;
while(EOF != (c = getchar()))
{
printf("%d/n",c);
}
return 0;
}
#include
int main(int argc, char *argv[])
{
char c;
while(EOF != (scanf("%c",&c)))
{
printf("%d/n",c);
}
return 0;
}
这两个程序都是实现相同的功能:当没有遇到ctrl + z时输出由键盘输入的字母的ASCI码值,每次都有10是回车键的ASCI码值。
现在的问题是:
当用scanf时需要两次ctrl + z 但是getchar却只需要一次。。。。