在C语言中,关于取余的,若-9%2的运算结果是啥?帮忙解答一下,谢谢!
6个回答
展开全部
咱们用的c语言,一般都是C89的、
我翻看了下,那本K&R的那本书,它主要就是介绍c89的,上面是这么写的:
a / b , a % b,前者取商,后者求余;如果b为0,结果未定义,否则
(a/b) * b + a%b 总是会等于 a;
如果a,b都是非负的,那么a % b结果非负,且小于b,也就是 9 % 2 结果一定会是 1;
除此之外,只保证,余数的绝对值 小于 b 的绝对值,也就是,本题结果1可以,-1也可以,具体怎么处理,那是编译器的事,至少,标准并没有强制规定,
我在Code::blocks上试了下,9%2:1; 9 % -2 :1; -9 % 2 : -1; -9 % -2 : -1
希望上面的说明对你有帮助~~
我翻看了下,那本K&R的那本书,它主要就是介绍c89的,上面是这么写的:
a / b , a % b,前者取商,后者求余;如果b为0,结果未定义,否则
(a/b) * b + a%b 总是会等于 a;
如果a,b都是非负的,那么a % b结果非负,且小于b,也就是 9 % 2 结果一定会是 1;
除此之外,只保证,余数的绝对值 小于 b 的绝对值,也就是,本题结果1可以,-1也可以,具体怎么处理,那是编译器的事,至少,标准并没有强制规定,
我在Code::blocks上试了下,9%2:1; 9 % -2 :1; -9 % 2 : -1; -9 % -2 : -1
希望上面的说明对你有帮助~~
2011-03-23
展开全部
余数=被除数-商*除数
-9%2=-9-2*(-4)
-9%2=-9+8 所以为-1 记住余数=被除数-商*除数 以后就不会弄错了 是取余
-9%2=-9-2*(-4)
-9%2=-9+8 所以为-1 记住余数=被除数-商*除数 以后就不会弄错了 是取余
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-1 vc6.0编译器结果
对负数取模的结果在不同的编译器可能有不同的结果.
下面是vc6.0编译器。
#include <stdio.h>
int main()
{
int i = -9;
printf("%d\n", i%2);
return 0;
}
对负数取模的结果在不同的编译器可能有不同的结果.
下面是vc6.0编译器。
#include <stdio.h>
int main()
{
int i = -9;
printf("%d\n", i%2);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
余数符号同被除数符号,9%2=1,-9%2=-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
余数符号同被除数符号
-9%2=-1
-9%2=-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询