试题题干
int f(int a)
{
int b=4;
static int c=4;
b++;
c++;
return(a+b+c);
}
main( )
{
int a=4,i;
for(i=0;i<3;i++)
printf(″%4d″,f(a));
}
参考答案
试题解析
在主函数中,当i=0时,输出函数为f(4),即f(4)调用函数f(),b++ 的值为4,变量b的值为5,c++ 的值为4,变量c的值为5,即返回值a+b+c=4+5+5=14;
当i=1时,输出函数为f(4),即f(4)调用函数f(),b++ 的值为4,变量b的值为5,c++ 的值为5,变量c的值为6,即返回值a+b+c=4+5+6=15;
当i=2时,输出函数为f(4),即f(4)调用函数f(),b++ 的值为4,变量b的值为5,c++ 的值为6,变量c的值为7,即返回值a+b+c=4+5+7=16;
当i=3时,不符合i<3,即结束循环。