c语言的简单问题 x=-30*5%-8; 这个东西算出来怎么是-6,这表达式里没有两个负号相消的规则么

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/05 09:33:49
c语言的简单问题 x=-30*5%-8; 这个东西算出来怎么是-6,这表达式里没有两个负号相消的规则么
xQ_KP* bK#!T!ifbnRS2=:bRc1RB: 6ZD/m=O҇}9w be1y1\*orV"DE:NybjS<[ UμSB~#k?[⭉ħUjNEonN!tr@phvLJ^ƜuR+jlDpcpl8ضPo${{ $'o>PlǙ4s@RyFlm}5ӌpEwٰeQ|x~U

c语言的简单问题 x=-30*5%-8; 这个东西算出来怎么是-6,这表达式里没有两个负号相消的规则么
c语言的简单问题 x=-30*5%-8; 这个东西算出来怎么是-6,这表达式里没有两个负号相消的规则么

c语言的简单问题 x=-30*5%-8; 这个东西算出来怎么是-6,这表达式里没有两个负号相消的规则么
除法取余数,涉及到负数时 的运算,不同编译器 会有不同的处理方法.
数学上也没有 统一规定 (涉及到负数时,向上 还是 向下 没有 统一规定)!

得-6 的 编译器 认为
150%-8 和 150%8 一样 得 6
-150%-8 和 -150%8 一样 得 -6
(除数取绝对值再做 % 运算)