运算优先级?

时间:2008-05-09 11:18:36   来源:论坛整理  作者:  编辑:chinaitzhe
1) 假如使用了禁止在while 的条件部分进行赋值的编译程序选择项,为什么可以查出
下面代码中的运算优先级错误?
While(ch = getchar() != EOF)
……

该如何解答呢?
网友回复:=的优先级低于!=
网友回复:呵呵,楼上的似乎理解错了哦。
我把编译警告设成最高发现似乎是这样的。

getchar()函数返回的是int型的。这样就存在一个int型转到char型的一种转换。
网友回复:While(ch = getchar() != EOF) 是少了括號吧

While( (ch = getchar()) != EOF)




*************************************
* 多用王字的囯或原國字,少用玉字的国 *
* 玉字的国字是由日本的汉字中拿來用的 *
*************************************
网友回复:是的。假如不加括号的话,W3警告也不会警告,但W4就会有警告。
不太清楚为什么加了括号它就没有警告了。此处加不加括号它的运算优先级应该是一样的。

网友回复:向飞雪同志道歉,你的说法是正确的,我错了。
网友回复:=低于!=
网友回复:
C/C code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/



此处加不加括号它的运算优先级应该是一样的。 





当然不一样。。。
关键字:运算,优先级,

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面