有以下程序 #include int fun(int a) { int b=0; static int c=3; a =( c++,b++); return ( a ); } main() { int a = 2, i, k; for( i=0; i

admin2019-08-18  27

问题 有以下程序
#include
int fun(int a)
{
int b=0;
static int c=3;
a =( c++,b++);
return ( a );
}
main()
{
int a = 2, i, k;
for( i=0; i<2; i++ )
k = fun(a++);
printf( "%d\n",k );
}
程序的输出结果是( )。

选项 A、0
B、4
C、1
D、2

答案A

解析 函数fun()中语句"a =( c++,b++);"计算的结果始终为0,这是因为逗号表达式的值为最后一个表达式,即"b++"的值,b为局部变量,每次调用时均初始化为0,所以函数fun()的返回值始终为0,计算得k的值也为0,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/opRp777K
0

相关试题推荐
最新回复(0)