单选题
有以下程序:
#include<stdio.h>
int mul(int val)
{ static int init=1;
return init *=val;
}
main()
{ int i;
for(i=1;i<=5;i++)
printf("%d,",mul(i));
}
程序运行后的输出结果是______。
-
-
-
-
【正确答案】
A
【答案解析】[解析] static静态变量只在声明时初始化一次。mul()函数定义了累乘,第一次init=1,init*=val,第二次init=1,val=2,第三次init=2,val=3,第四次init=6,val=4,第五层init=24,val=5,因此结果为1,2,6,24,120。故答案为A选项。