当/运算符和%运算符的操作数是负数时

当/运算符和%运算符的操作数是负数时,比如-9/7,有-2或者5两种结果,为什么呢?

2个回答

首先先说余数,在C语言中余数的符号是和被除数的符号相同。即:
(-10)%3==-1;
10%(-3)==1;
(-10)%(-3)==-1;
做除法的时候,商是令其与分子相乘的积的绝对值不超过分母的绝对值且最接近的那个数,
所以
(-10)/3==-3;
10/(-3)==-3;
(-10)/(-3)==3;

余数与被除数(即分子的符号)相同;先将各个带符号的数全部取正值再做除法,再根据负号的个数确定商的符号

具体来说语言不同,处理结果不同,

abc1078278096
殇夜王子 对于C语言呢
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问