简答题
👁️ 浏览量:

试题题干

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,即结束循环。