下列程序的运行结果是______。 #include<stdio.h> func(a,b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m);

admin2009-01-15  53

问题 下列程序的运行结果是______。
   #include<stdio.h>
   func(a,b)
   {  static int m=0,i=2;
      i+=m+1;
      m=i+a+b;
      return(m);
   }
   main()
   {  int k=5,m=3,p;
      p=fune(k,m);
      printf("%d",p);
      p=func(k,m);
      printf("%d\n",p);
   }

选项

答案11 23

解析 在主函数中第一次调用func子函数时,m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因为在于函数中将m和i定义成了static类型,所以在于函数中对m和i进行的改变在下一次调用子函数时能进行保存,所以第二次调用于函数时,m=11,i=3,则i=i+m+1=15, m=i+a+b=15+5+3=23。
转载请注明原文地址:https://kaotiyun.com/show/8GXp777K
0

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