然而求余得y=%d,而不是x%y=1,問題在哪呢?
#include <stdio.h>
int main()
{
int x,y;
x = 10;
y = -3;
printf("x+y=%d\n", x+y);
printf("x-y=%d\n", x-y);
printf("x*y=%d\n", x*y);
printf("x/y=%d\n",x/y );
printf("x%y=%d\n", x%y);
return 0;
}
#include <stdio.h>
int main()
{
int x,y;
x = 10;
y = -3;
printf("x+y=%d\n", x+y);
printf("x-y=%d\n", x-y);
printf("x*y=%d\n", x*y);
printf("x/y=%d\n",x/y );
printf("x%y=%d\n", x%y);
return 0;
}
2016-10-20
舉報
2016-10-20
C99 規定,如果 % 左邊的操作數是正數,則模除的結果為正數或零;如果 % 左邊的操作數是負數,則模除的結果為負數或零。例如:
? ? ? ? ? 10 % 3 ? ? ? // 余 1
????????? 10 % -3 ? ? ?// 余 1
????????? -10 %3 ? ? ?// 余 -1
????????? -10 % -3 ? ? // 余 -1