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

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 21:12:27
c语言的简单问题 x=-30*5%-8; 这个东西算出来怎么是-6,这表达式里没有两个负号相消的规则么

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
(除数取绝对值再做 % 运算)