优先级在C语言表达式求值中的作用

优先级在C语言表达式求值中的作用,c,expression,operator-precedence,C,Expression,Operator Precedence,如果y为整数类型,则表达式: 3*(y-8)/9 及 是否总是会产生不同的结果,或者它们是否可能产生相同的结果 这取决于什么 举例说明会很有帮助 可能产生不同或相同的结果,这取决于“y”值。操作将从左向右进行。 例如:对于y=11: 3*(y-8)/9:1(y-8)/9*3:0 对于y=10 3*(y-8)/9:0(y-8)/9*3:0运行代码时,您发现了什么?您可以将y从0扫到,比如说,100,然后查看结果。您的C书告诉了您什么?如果y是整数类型,您将看到的差异将受到整数除法的显著影响。对于

如果y为整数类型,则表达式:

3*(y-8)/9

是否总是会产生不同的结果,或者它们是否可能产生相同的结果

这取决于什么


举例说明会很有帮助

可能产生不同或相同的结果,这取决于“y”值。操作将从左向右进行。 例如:对于y=11: 3*(y-8)/9:1(y-8)/9*3:0

对于y=10
3*(y-8)/9:0(y-8)/9*3:0运行代码时,您发现了什么?您可以将
y
从0扫到,比如说,100,然后查看结果。您的C书告诉了您什么?如果
y
是整数类型,您将看到的差异将受到整数除法的显著影响。对于您来说,使用不同的值(特别是
(y-8)
9
3
的倍数不同的值)自己测试它是有利的。本书编写的C编译器(遵循规定的优先级和关联性规则)应该产生一致的结果(排除数据类型精度等方面的差异)。
(y-8)/9*3