simplerjiang 发表于 2018-2-16 00:02:12

关于一个优先级的问题!

祝大家新年快乐。
在刚刚学习的过程中,我发现了一个问题,
就是C语言教程S1E13中的课后练习第4题:

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

其中 ch = getchar() == ' '
=的优先级是低于 ==
那应该是先检查 getchar() == ' ',然后返回1或0
然后再赋值给ch变量。
可是却是先赋值再进行==的判断。
最后ch的值也是getchar() 所得。
这是为什么呢?

orino 发表于 2018-2-16 08:24:24

有括号的先算括号里的,这里ch=getchar()在括号最内层,先运算,然后计算ch==' '

simplerjiang 发表于 2018-2-16 00:02:43

@小甲鱼 希望小甲鱼老师能有空解答一下

simplerjiang 发表于 2018-2-16 19:12:25

orino 发表于 2018-2-16 08:24
有括号的先算括号里的,这里ch=getchar()在括号最内层,先运算,然后计算ch==' '

好的谢谢 我这才发现我看少了个括号 感谢

夕颜梦雨 发表于 2018-2-16 19:48:37

一定要注意小括号哦,有小括号优先运行

2399473044 发表于 2018-2-16 22:56:29

括号白打的?
页: [1]
查看完整版本: 关于一个优先级的问题!