为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
Rebellious_2016 2017-09-11 22:23:20
若变量已正确定义,在执行下列while语句时,输入字符A之后,ch的值为?while(ch=getchar()=='A');
查看完整描述

1 回答

?
onemoo

TA贡献883条经验 获得超454个赞

执行 ch=getchar()=='A' 时若输入 A,而 a 的值应该是 1。

ch=getchar()=='A'  这个复合表达式由三个子表达式组成:赋值表达式 =、函数调用表达式 () 和 判断相等的关系表达式 =。

() 的优先级最高,== 次之,= 最低。所以函数调用的结果会先与字符'A'作比较,那么比较结果为 true,再转为整型值为 1。

查看完整回答
1 反对 回复 2017-09-11
  • 1 回答
  • 0 关注
  • 1054 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信