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

学习 时间:2026-06-05 18:15:34 阅读:6109
若有以下程序段: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-06-05 18:15:34

大哥题都不对。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-06-05 18:15:34

    大哥题都不对。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毫升放多少豆子