在C中,条件 (a%2==1) 与 (a%2!=0) 有什么区别?

pqz20002 2004-03-26 08:59:20
我在操作一组随机数时得到不同的答案,不知道为什么?
...全文
1156 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluedodo 2004-03-27
  • 打赏
  • 举报
回复
随机生成
unsigned int类型
不就没有负数了罗
是这个意思不
dodofcboy 2004-03-27
  • 打赏
  • 举报
回复
奇迹!
BluntBlade 2004-03-26
  • 打赏
  • 举报
回复
会有负数的情况出现的。
duo9 2004-03-26
  • 打赏
  • 举报
回复
我觉得没有什么区别,
yonyon 2004-03-26
  • 打赏
  • 举报
回复
可能是-1
zhangfjj 2004-03-26
  • 打赏
  • 举报
回复
cnxiaohai(相声独一处) ( ) 信誉:100 2004-03-26 21:28:00 得分:0

我没调试

结果应该是
1
0
-1
0
是不是啊?

这样你就明白了

a%2==1的时候,a要为正奇数,此条件表达是的结果才为真
a%2!=0的时候,a还可以为负的奇数,换言之,a只要是奇数,此条件表达是就是真值

我说的是这个!!!!!!!!!!!!!
angelo23 2004-03-26
  • 打赏
  • 举报
回复
a%2要么等于1,要么等于0,既然!=0,那不必然等于1吗?呵呵
zhangfjj 2004-03-26
  • 打赏
  • 举报
回复
楼上说得正确!
fscanf 2004-03-26
  • 打赏
  • 举报
回复
应该是1
0
cnxiaohai 2004-03-26
  • 打赏
  • 举报
回复
我没调试

结果应该是
1
0
-1
0
是不是啊?

这样你就明白了

a%2==1的时候,a要为正奇数,此条件表达是的结果才为真
a%2!=0的时候,a还可以为负的奇数,换言之,a只要是奇数,此条件表达是就是真值
cnxiaohai 2004-03-26
  • 打赏
  • 举报
回复
你看看这个程序就明白了

main ()
{
int a=1,
b=2,
c=-1,
d=-2;
printf("%d\n%d\n%d\n%d\n",a%2,b%2,c%2,d%2);
}
hcj2002 2004-03-26
  • 打赏
  • 举报
回复
(a%2==1) //a被二整除等于1时为真 。
(a%2!=0) //a被二整除不为0时为真。

一个数,要么能被二整除,要么不能,所以说效果是一样的。
lovecreak 2004-03-26
  • 打赏
  • 举报
回复
a%2==1 只有a%2值为1时才为真
a%2!=0 a%2的值只要是不等于0的其他数就为真
qybao 2004-03-26
  • 打赏
  • 举报
回复
没什么不同,因为a%2的结果只有0和1,!=0就是==1,非此即彼,所以应该是等效的
关键是你的随机数,两次运行的结果都是随机的,得到不同的答案很正常
junjzheng 2004-03-26
  • 打赏
  • 举报
回复
a%2==1的时候,a要为正奇数,此条件表达是的结果才为真
a%2!=0的时候,a还可以为负的奇数,换言之,a只要是奇数,此条件表达是就是真值
Darkay_Lee 2004-03-26
  • 打赏
  • 举报
回复
这么神奇?!

70,011

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧