首页 > 试题广场 >

int a=5,b=-5;printf(“%d,%d”),a

[单选题]
int a = 5, b = -5;
printf("%d,%d", a%(-4), b%(-4));
上面代码段的输出为()
  • 1,-1
  • 1,1
  • -1,1
  • -1,-1
(-m)/n 和 m/(-n) 等于-(m/n)
  m%(-n) 等于m%n
  (-m)%n 等于-(m%n)
发表于 2017-08-18 15:11:01 回复(0)
除号的正负取舍和一般的算数一样,符号相同为正,相异为负
求余符号的正负取舍和被除数符号相同
-3/16=0     16/-3=-5     -3%16=-3      16%-3=1
发表于 2017-08-22 09:04:39 回复(5)
例-8%3=-2
-8%-3=-2
8%-3=2
负数求余主要看的是被除数,与除数无关。
如果被除数是负数那么其结果一定为负。如果被除数和除数都为负则结果还是为负。
如果被除数为正,除数为负,结果为正。
发表于 2018-03-25 12:58:17 回复(1)
其中,为对x/y的结果取整。需要说明的的c语言和python中取整的方向不一样,c中规定向0取整,python中规定向负无穷取整。
所以对于本题,
5%(-4):[5/-4]=-1.25,向0取整为-1,然后5-(-1)*(-4)=1;
-5%(-4):[-5/-4]向0取整为1,然后-5-1*(-4)=-1;
(如果在python中,5%(-4)计算方式为:[5/-4]向负无穷取整为-2,然后5-(-2)*(-4)=-3)


发表于 2018-07-26 10:39:51 回复(1)

除号的正负与一般计算一样取余运算符号最后结果的正负是与被除数一样5%2=1 5%-2=1 -5%2=-1 -5%-2=-1

编辑于 2021-08-04 21:50:31 回复(0)
cout << 4 % 5 << endl ;   //4
cout << 4 % -5 << endl ;  //4
cout << -4 % 5 << endl ;  //-4
cout << -4 % -5 << endl ; //-4
发表于 2017-09-17 09:41:22 回复(0)
求余结果的符号和被除数相同
发表于 2019-09-28 08:25:00 回复(0)
不得不说,这程序编译都过不去
发表于 2019-08-16 17:17:14 回复(0)
取余的结果的符号永远和被除数的符号一样

发表于 2018-07-23 10:18:42 回复(0)
 C Prime Plus 规定无论什么情况,只要a和b是整数值,就是可以使用a-(a/b)*b进行计算a%b 
发表于 2025-04-19 18:30:14 回复(0)
编辑于 2024-01-09 16:36:33 回复(0)

除号运算符和求余运算符之间的区别,除号运算符和常规的数***算一样,负号的计算也是一样,符号相同为正,相异为负。求余运算符则是以被除数的符号一致,被除数为正,则结果为正,反之,被除数的符号为负,则结果为负。


发表于 2019-06-22 14:12:20 回复(0)
%运算的最终结果的正负号是看被除数的 ,和被除数正负一致 ,
发表于 2018-07-11 11:14:44 回复(0)
看被除数的正负
发表于 2018-07-06 13:15:44 回复(0)
模看前边的
发表于 2018-04-17 08:46:35 回复(0)
看被除数符号的
发表于 2018-03-14 17:10:36 回复(0)
求余符号的正负取舍和被除数符号相同
发表于 2018-03-07 19:19:16 回复(0)
A
发表于 2017-09-04 13:35:05 回复(0)
(-m)/n 和 m/(-n) 等于-(m/n)
  m%(-n) 等于m%n
  (-m)%n 等于-(m%n)
Copy一下
发表于 2017-08-19 17:13:50 回复(0)