为什么下列语句执行后ch的值为0而不是1?

若变量已正确定义,在执行下列while语句时,输入字符A之后,ch的值为?

while(ch=getchar()=='A');


Rebellious_2016
浏览 1055回答 1
1回答

onemoo

执行 ch=getchar()=='A' 时若输入 A,而 a 的值应该是 1。ch=getchar()=='A'  这个复合表达式由三个子表达式组成:赋值表达式 =、函数调用表达式 () 和 判断相等的关系表达式 =。() 的优先级最高,== 次之,= 最低。所以函数调用的结果会先与字符'A'作比较,那么比较结果为 true,再转为整型值为 1。
打开App,查看更多内容
随时随地看视频慕课网APP