永发信息网

C语言字符型数据问题

答案:3  悬赏:0  手机版
解决时间 2021-05-07 16:15

若变量已正确定义,在执行以下while语句时,输入字符A后,ch的值是_____
while(ch=getchar()=='A');

 

为什么ch为0

最佳答案

=的优先级低于==,所以总是先运行getchar()=='A'   ,而ch就只能有两种情况0或者1 (假或真)


输入A再按回车,getchar()收到的是两次输入,第一次为A,此时ch=1是不会退出while循环。 第二次为回车,回车不为A,此时ch=0退出循环。这是整个过程

全部回答

为何如此保守的贴出一句?

你怎么看到ch为0的?

第一次进入循环时,在条件判断语句处中断,等待getchar返回

你输入A后,必须按下回车键才能让getchar接收到键盘输入

这时,ch = (getchar() == 'A')  //这里ch为真

这时while以ch的值为条件,判断为真,进入循环内部,虽然你这里是没有循环内部语句块,但要理解while的流程,它在运行完内部语句块后,又继续检查你的条件语句,ok,现在getchar直接返回了,因为上一次输入时输入了A,但也包括了回车键入的ASCII码10,所以这时ch = (10 == 'A'),即ch为假,循环退出,而你再输出ch的话,也就是假,即0了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
DNF解除防火墙,只要解除了我给满分!~~
低血糖是不吃主食引起的吗
铸鑫酒楼地址在什么地方,想过去办事
武汉 光谷附近哪里有 魔术 道具店?
一个鸡蛋大小的夜明珠市场价大概多少钱?谢谢
想了解湖北省的专升本和自考信息,我是专科软
描写春天的句子 短句19字
这配置能装WINDOWS7么?
新会区江门海悦农家大院地址在哪,我要去那里
奈曼旗森林公安局八仙筒派出所我想知道这个在
江西省南昌市红谷滩新区学府大道999号是南昌
为什么会心疼?回答对了的有奖励
现在最新款式 并且功能齐全 而非常适合女生的
如果一个女人这样,意味着什么?
大话3强B80忽视20能B住几星
推荐资讯
教室的英语怎么写啊
天津电子信息职业技术学院到天津市机电工艺学
QQ音乐没显示,已经是最新版本,也设置了即时
突然腰疼怎么回事呢
电脑关机的键怎样才能由4行字变成上个按键
无锡哪有卖爵士鼓的??
机动车辆缺机油会造成什么后果?
旺仔广州传统打边炉在什么地方啊,我要过去处
为什么我充了会员钱已交了.他返回信息说我没
用激光除痘和除痘印会有负作用吗?大概多少钱?
海派甜心里《雨爱》伴奏
电脑什么问题也没有,为什么一玩游戏键盘就失
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?