有条题

ivw21 2003-08-19 05:36:00
main()
{int a=25,b=14,c=19;
if (a++<=25&&b--<=2&&c++)
printf(" a=%d,b=%d,c=%d\n",a,b,c);
else
printf(" a=%d,b=%d,c=%d\n",a,b,c);
}
结果得a=26,b=13,c=19
也就是说,a,b都变了,但c不变,
我就是不明白 c干嘛不也加1?
...全文
49 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivw21 2003-08-19
  • 打赏
  • 举报
回复
后面二位朋友你们说得简明扼要,我明白了,
多谢指点.
ppm07 2003-08-19
  • 打赏
  • 举报
回复
&& 的规则是当&&前面的表达式为真的时候才计算后面的表达式
b--<=2 已经为假,后面的c++就没有执行。
oopig 2003-08-19
  • 打赏
  • 举报
回复
b--<=2这个表达式的值是FALSE,所以c++这个表达式就没有进行计算了,当然c的值不变。
flybird66 2003-08-19
  • 打赏
  • 举报
回复
a++<=25
==
a+1<=25
flybird66 2003-08-19
  • 打赏
  • 举报
回复
a++<=25 在这题中相当于 25<26
而C++只相当于19,下次再读C的时候才是20

69,371

社区成员

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

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