求c语言 i*=i+++j*k+k^2%i++ 计算顺序
求c语言i*=i+++j*k+k^2%i++计算顺序比如说,数学里是先算乘除在算加减在C里面呢++,^,%的运算呢...
求c语言 i*=i+++j*k+k^2%i++ 计算顺序
比如说,数学里是先算乘除在算加减
在C里面呢++,^,%的运算呢 展开
比如说,数学里是先算乘除在算加减
在C里面呢++,^,%的运算呢 展开
2个回答
展开全部
a = ((i++) + (j*k) + k) ^ (2%(i++))
i *= a;
但是由于你的计算式中有两个(i++),i++的计算时机是依赖于编译器实现的,不同的编译器会给出不同的结果。
建议你把 i++ 从计算式中拿出来。
比如:
m = i++;
i++;
i*= (m + (j*k) + k) ^ (2%m);
注意: ^ 这个符号不是“乘方”,而是位运算中的“亦或”符号。
运算符优先级表:
http://baike.baidu.com/picview/262524/262524/0/63d9f2d3572c11df57c9a205612762d0f703c2f8.html
i *= a;
但是由于你的计算式中有两个(i++),i++的计算时机是依赖于编译器实现的,不同的编译器会给出不同的结果。
建议你把 i++ 从计算式中拿出来。
比如:
m = i++;
i++;
i*= (m + (j*k) + k) ^ (2%m);
注意: ^ 这个符号不是“乘方”,而是位运算中的“亦或”符号。
运算符优先级表:
http://baike.baidu.com/picview/262524/262524/0/63d9f2d3572c11df57c9a205612762d0f703c2f8.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询