帮忙

matin1984 2003-10-18 12:01:47
.
.
int i=1,b=4;
(i=0)&&(b=5);
printf("%d %d\n",i,b);
i=0&&(b=5);
printf("%d %d\n",i,b);
..
有什么区别

int i=1,b=4;
(i=0)||(b=5);
printf("%d %d\n",i,b);
i=0||(b=5);
printf("%d %d\n",i,b);
..
有什么区别
那位高手指点一下
...全文
62 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
matin1984 2003-10-19
  • 打赏
  • 举报
回复
谢谢各位
playboyxp 2003-10-19
  • 打赏
  • 举报
回复
条件运算符得优先级比赋值高
所以都一样
wgzh 2003-10-18
  • 打赏
  • 举报
回复
int i=1,b=4;
(i=0)&&(b=5);
printf("%d %d\n",i,b);
i=0&&(b=5); //此时i等于0,因为0&&(b=5)为假值
printf("%d %d\n",i,b);
..
有什么区别

int i=1,b=4;
(i=0)||(b=5);
printf("%d %d\n",i,b);
i=0||(b=5); //此时i等于1,因为0||(b=5)为真值
printf("%d %d\n",i,b);
..


thunder76 2003-10-18
  • 打赏
  • 举报
回复
说到底,运算符的优先级问题。
falkon 2003-10-18
  • 打赏
  • 举报
回复
(i=0)&&(b=5): i=0 b=4
i=0&&(b=5)->i=(0&&(b=5)): i=0 b=4
(i=0)||(b=5): i=0 b=5
i=0||(b=5)->i=(0||(b=5)): i=1 b=5
注意运算优先级
对于a&&b&&c:只有a!=0才继续进行右面的运算
对于a||b||c:只有a=0才继续进行右面的运算


wangchunhe 2003-10-18
  • 打赏
  • 举报
回复
第一个输出结果为0 5
0 5
第二个数出结果为0 5
1 5

69,336

社区成员

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

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