试题题干
main()
{ int i;
for(i=1;i<3;i++)f(i);
}
f(int j)
{ static int A=100;
int k=1;
++k;
printf(″%d\n″, j+A+k);
A-=2;
}
参考答案
试题解析
在主函数中,当i=1时,f(i)为f(1),即f(1)调用函数f(),++k的值为2,故输出的j+A+k的值为j+A+k=1+2+100=103,A-=2的值为A=A-2=100-2=98;
当i=2时,f(i)为f(2),即f(2)调用函数f(),++k的值为2,故输出的j+A+k的值为j+A+k=2+2+98=102,A-=2的值为A=A-2=98-2=96;
当i=3时,不符合i<3,即结束循环,故输出的值为103和102。