有以下程序 #include <stdio.h> void fun(int n) { static int x[3]={1,2,3}; int k; for( k=0; k<3; k++ ) x[k] += x[k]-n; f

admin2015-11-24  4

问题 有以下程序
#include   <stdio.h>
void fun(int  n)
{  static int  x[3]={1,2,3};
   int  k;
   for( k=0; k<3; k++ ) x[k] += x[k]-n;
   for( k=0; k<3; k++ ) printf("%d,",x[k]);
}
main()
{   fun(0);  fun(1);   }
程序运行后的输出结果是

选项 A、1,2,3,0,1,2,
B、2,4,6,1,3,5,
C、2,4,6,3,7,11,
D、2,4,6,4,8,12,

答案C

解析 第一次调用fun()函数,此时n=0,数组x是静态的,因此,只在第一次时初始化,有x[k]+=x[k]-n,计算可知,x[]={2,4,6},第二次调用fun(), 此时n=1,x[]={2,4,6},经计算的x[]={3,7,11},故打印结果为2,4,6,3,7,11。答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/NNID777K
0

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