C语言中取余运算,怎么算?比如有一个负号,怎么算?如-1%2 或者-6%5
6个回答
展开全部
When integers are divided, the result of the / operator is the algebraic quotient with any
fractional part discarded.87) If the quotient a/b is representable, the expression
(a/b)*b + a%b shall equal a.
借用C99标准里的一段话
无论谁正谁负,这个等式应该成立:(a/b)*b + a%b == a
看下面这段代码
#include <stdio.h>
int main() {
printf("a%%b \ta-(a/b*b)\n");
printf("10%%3 = %2d\t10-(10/3*3)=%d\n", 10%3, 10-(10/3*3));
printf("10%%-3 = %2d\t10-(10/-3*-3)=%d\n", 10%-3, 10-(10/-3*-3));
printf("-10%%-3 = %2d\t-10-(-10/-3*-3)=%d\n", -10%-3, -10-(-10/-3*-3));
printf("-10%%3 = %2d\t-10-(-10/3*3)=%d\n", -10%3, -10-(-10/3*3));
return 0;
}
如果只是单纯记忆的话:
展开全部
计算结果的符号与第一个数相同,-1%2=-1,-6%5=-1
更多追问追答
追问
那如果1%-2呢
就是1了对吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-1%2结果是-1;
-6%5的结果也是-1。
-6%5的结果也是-1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把负号不看。。。算完了再把负号加进去嘛。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-1%2=-1
-6%5=-1
-6%5=-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询