getchar函数的困惑
本帖最后由 工科男 于 2016-7-28 16:02 编辑我困惑的地方在于:
如果我写成
c=getchar();
while(c!='\0')
整个程序就会陷入死循环状态。
如果我写成
while((c=getchar())!='\0')
则程序就会正确执行。
所以我对这一点就很纳闷了,,当输入语句放到 while 语句内就可以正确执行,放到 while 语句外面就错误了。问题出在哪里了; 求解
兄弟
//假设我输入abc
c=getchar(); //这是读取一个字符,读取到 a
while(c!='\0') // 这就相当于while( 'a' != '\0'),因为c一直没变,一直都是a,所以一直循环
//----------------------
while((c=getchar())!='\0') //这样的话就是每次循环都重新读取一次字符,第一次是a,第二次b,第三次c,然后就是'\0',然后循环不成立,就结束循环了 倾天 发表于 2016-7-28 18:33
兄弟
//假设我输入abc
c=getchar(); //这是读取一个字符,读取到 a
听你这么说,我终于理解了,谢谢啊{:5_106:} 看看
页:
[1]