要熟练的判断这些,就得先搞清楚各种运算符得优先级别阿,只要那个清楚了,应该判断这个小问题就没有问题了。
恩.a=b||x==y确实就是a=(b || (x==y)), 和(a=b)||(x==y)是完全不一样的两个表达式.
但其结果的确是相同的.稍微分析下就清楚了.
首先因为c语言中: a=b 这个赋值表达式的值就等与b的值. 所以 (b || (x==y)) 和 (a=b)||(x==y) 的值是一样的.
因此 a = (b || (x==y)) 和 (a=b)||(x==y) 的值是一样的.
你给的那几个值最后计算出来的结果 :两个都是0
其中你给a输入的值对最后计算是没有影响的.
[此贴子已经被作者于2006-10-29 17:55:25编辑过]