小菜鸟求优先级的问题
我刚学C没有多久请各位多提点!
2.5+7%3*(int)(2.5+4.7)%2/4
这个试中的:(int)(2.5+4.7)的级别是最高的吗??
要这样看这个问题呢??
[解决办法]
不要特意记这些优先级的问题。如果不清楚的话,可以多加些()就可以了
[解决办法]
你的书呢?
当然多加括号是对的,不过也需要看别人代码的时候比较明白。
[解决办法]
说实话,记优先级也是很痛苦的,不小心记错一点,就有可能出错,所以我也是一般都用括号来解决:
2.5+7%3*(int)(2.5+4.7)%2/4
像这个如果不确定的话,可以这样:
2.5+7%3*((int)(2.5+4.7))%2/4
[解决办法]
刚开始学编程,不要图省事,括号还有{}都最好不要省略,养成好习惯!
[解决办法]
(int)(2.5+4.7)在LZ给的式子中的确是最高的
优先级(由高到低):
一元运算符(比如上面的(int))、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符
2.5+7%3*(int)(2.5+4.7)%2/4相当于2.5+1*1/4,运算结果是2.5
[解决办法]
单从数学角度也可以理解运算优先级顺序了。