有以下程序         fun(int x,int y){return(x+y);}         main()         { int a=1,b=2,c=3,sum;            sum=fun((a++,b++,a+b),c++)

admin2009-03-16  18

问题 有以下程序         fun(int x,int y){return(x+y);}         main()         { int a=1,b=2,c=3,sum;            sum=fun((a++,b++,a+b),c++);           printf("%d\n",sum);         }

选项 A、6
B、7
C、8
D、9

答案C

解析 在fun((a++,b++,a+b),c++)中,先算括号内的(a++,b++,a+b)逗号运算,即先算出a++的值,a=2;再算出b++的值,b=3;最后算出a+b的值,a+b=2+3=5,整个逗号表达式的值为最后a+b的值即为5;接下来调用fun函数,此时原语句变为:smn=fun(5,C++);进行运算,c++表示在使用c以后再将c的值加1,所以结果为:5+3=8。
转载请注明原文地址:https://kaotiyun.com/show/DeXp777K
0

最新回复(0)