然而求余得y=%d,而不是x%y=1,问题在哪呢?

来源:3-2 算术运算符

本圣贤4197936

2016-10-20 00:09

#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;
}

写回答 关注

1回答

  • 无厘头
    2016-10-20 08:53:36

    C99 规定,如果 % 左边的操作数是正数,则模除的结果为正数或零;如果 % 左边的操作数是负数,则模除的结果为负数或零。例如:

              10 % 3       // 余 1
              10 % -3      // 余 1
              -10 %3      // 余 -1
              -10 % -3     // 余 -1

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926024 学习 · 20793 问题

查看课程

相似问题