问个C语言的题

设int x=14;,则表达式x++%-5的值为__________。为什么不是-4
2025-12-16 06:36:57
推荐回答(3个)
回答1:

在C中,14%-5=4正确,而不等于-4。原因是:%是取余除,余数是什么就等于什么!14÷(-5)=-2余4,∴14%-5=4。同理,-14%5=-2余-4,∴-14%5=-4;-14%-5=2余-4,∴-14%-5=-4;而14%5=2余4,∴14%5=4。
规律是:余数符号不可能与被取余除之数的符号相异,所以结果总是与被取余之数同号!

回答2:

求余的结果符号和被求余的符号一致
5%-2=1
-5%2=-1
-5%-2=-1

回答3:

等于4 因为C语言中规定:a%b的结果完全取决于a的符号,a的符号为正,其结果就为正;与b的符号无关