有人理解我的疑问吗?请教前辈指教。
不能发图,我直接打字。内容范围:
C语言只对4个运算符规定了它们对应多个操作数的定值顺序,分别为:与运算符&&、或运算符||、逗号运算符,、条件运算符?:
不懂的内容原文1:
除了运算符"&&" 、"||" 、 "?:" 和 "," 之外,如果设计的程序还依赖于其他运算符的操作数的定值顺序,这样的程序往往会出现错误,因为编译器对操作数的定值顺序与你想像的并不一样。
本人疑问:
这是否说明 (a == 1) && (b != 0)或直接 a==1 || b!=0 这样的表达式是会出现错误的?而且它后面提到的编译器操作就更不明了。
不懂的内容原文2:
除了运算符"&&" 、 "||" 、 "?:"和","之外,如果程序还依赖于其他运算符的操作数的定值顺序,那么程序的功能会随着编译它的编译器的不同而不同。
本人疑问:
第一点都不懂了,那这第二点说编译器不同有不同结果的情况,跟++重复于一个表达式里出现的错误属于一样的现象吗?
确实不懂,消化不了,往有人明白含义并指点一二,谢谢!