最近在看 c第二版英译版。有个问题并不解。
getchar()与putchar()
这是程序
int c;
c=getchar();
while(c!='\n')
putchar();
这里没有用fflush(stdin)函数清空,结果将无限循环显示。
而我用
while(c=getchar()!='\n')
putchar(c);
就不会循环。
请问各位大牛,这两个有什么区别,为什么结果就不一样?
最近在看 c第二版英译版。有个问题并不解。
getchar()与putchar()
这是程序
int c;
c=getchar();
while(c!='\n')
putchar();
这里没有用fflush(stdin)函数清空,结果将无限循环显示。
而我用
while(c=getchar()!='\n')
putchar(c);
就不会循环。
请问各位大牛,这两个有什么区别,为什么结果就不一样?
第一种写法,c永远是第一次输入的值
第二种写法,每次循环c都会读取下一个字符,才有机会遇到\n而终止。