若有以下程序段:int a=0,b=0,c=0 c=(a-=a-5),(a=b,b+3); printf(“%d,%d,

学习 时间:2026-03-30 20:44:38 阅读:9936
若有以下程序段:int a=0,b=0,c=0 c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\n”,a,b,c);执行后输出地结果是0,0,5,为什么前面是0,

最佳回答

精明的钻石

舒心的荷花

2026-03-30 20:44:38

大哥题都不对。int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);按程序运行来讲吧。第一句不说了。。。第二句为逗号表达式。c=(a-=a-5)给c赋值,把a-=a-5的结果赋给c;(a-=a-5)=(a=a-(a-5));把a=0;代入得a=5;进而(a-=a-5)的值为5;c=5;接下来执行(a=b,b+3);这里面又有逗号表达式。a=b;因b=0;故a=0;b+3;不对任何变量赋值,相当于空语句;综上所述:a=0;b=0;c=5。论述完毕。

最新回答共有2条回答

  • 高兴的绿茶
    回复
    2026-03-30 20:44:38

    大哥题都不对。int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);按程序运行来讲吧。第一句不说了。。。第二句为逗号表达式。c=(a-=a-5)给c赋值,把a-=a-5的结果赋给c;(a-=a-5)=(a=a-(a-5));把a=0;代入得a=5;进而(a-=a-5)的值为5;c=5;接下来执行(a=b,b+3);这里面又有逗号表达式。a=b;因b=0;故a=0;b+3;不对任何变量赋值,相当于空语句;综上所述:a=0;b=0;c=5。论述完毕。

上一篇 写出三个诗人用咏XXX来作的诗题

下一篇 破壁机1000毫升放多少豆子