若有以下程序: #include main( ) { int a=0,b=0,c=0 c=(a+=++b,b+=4); printf("%d,%d,%d\n",a,b,c; } 则程序的输出结果是(

admin2015-08-09  23

问题 若有以下程序:
   #include
    main( )
    {  int a=0,b=0,c=0
    c=(a+=++b,b+=4);
    printf("%d,%d,%d\n",a,b,c;
    }
    则程序的输出结果是(    )。

选项 A、1,5,1
B、1,5,5
C、-1,4,4
D、-1,4,-1

答案B

解析 逗号运算符的结合性从左到右,因此逗号表达式将从左到右进行计算。且逗号运算符的优先级最低。先计算a+=++b,结果a为1,b为1,然后计算b+=4,b的值为5。逗号表达式的值为其中最后一个表达式的值,所以将5赋给变量c,即a为1,b为5,c为5。所以选择B。
转载请注明原文地址:https://kaotiyun.com/show/RLDp777K
0

最新回复(0)