m0_52280201 2022-03-04 19:27 采纳率: 88.9%
浏览 36
已结题

你们给看看这个程序,怎么理解希望写的详细一点,还有输出结果是是什么?

#include<stdio.h>
int main(){
int a=0,b=3,c=2;
if(a++&&b++){
c--;
}else if(a+1==6||b--){
c++;
}
printf("a=%d,b=%d,c=%d\n",a,b,c);
}

  • 写回答

5条回答 默认 最新

  • 关注

    先执行&&
    a++ && b++其中都是X++形式,所以是先取值再自加故&&运算时取得值a=0因为a=0
    所以这个表达式就是0&&后面的b++b不需要计算,程序不执行故b的值不变
    执行else语句
    a+1==6不成立 判断b-- b=2 不为0所以执行else内部 c++ c=3

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 3月4日