鱼C论坛

 找回密码
 立即注册
查看: 1680|回复: 3

getchar函数的困惑

[复制链接]
发表于 2016-7-28 15:49:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 工科男 于 2016-7-28 16:02 编辑


我困惑的地方在于:
如果我写成
c=getchar();
        while(c!='\0')
整个程序就会陷入死循环状态。
如果我写成
        while((c=getchar())!='\0')
则程序就会正确执行。

所以我对这一点就很纳闷了,,当输入语句放到 while 语句内就可以正确执行,放到 while 语句外面就错误了。问题出在哪里了; 求解

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-28 18:33:37 | 显示全部楼层
兄弟
//假设我输入abc
c=getchar();               //这是读取一个字符,读取到 a
        while(c!='\0')     // 这就相当于while( 'a' != '\0'),因为c一直没变,一直都是a,所以一直循环

//----------------------
while((c=getchar())!='\0')       //这样的话就是每次循环都重新读取一次字符,第一次是a,第二次b,第三次c,然后就是'\0',然后循环不成立,就结束循环了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

 楼主| 发表于 2016-7-29 20:08:23 | 显示全部楼层
倾天 发表于 2016-7-28 18:33
兄弟
//假设我输入abc
c=getchar();               //这是读取一个字符,读取到 a

听你这么说,我终于理解了,谢谢啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-24 11:16:37 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 07:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表