有以下程序  #include <stdio.h>  int mul(int val)  { static int init=l;   return init *=val:  }  main()  { int i;   for(i=l;i

admin2022-04-01  67

问题 有以下程序
 #include <stdio.h>
 int mul(int val)
 {  static int init=l;
    return init *=val:
 }
 main()
 {    int i;
    for(i=l;i <=5;i++)
      printf("%d,",mul(i));
 }
 程序运行后的输出结果是(          )。

选项 A、1,2,6,24,120,
B、1,2,3,4,5,
C、1,1,1,1,1,
D、1,2,4,6,8,

答案A

解析 static静态变量只在声明时初始化一次。函数mul()的功能是累乘。调用函数是,第一次init=1,init*=val,第二次init=1,val=2,第三次init=2,val=3,第四次init=6,val=4,第五层inti=24,val=5,因此结果为1,2,6,24,120。故答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/6qd0FFFM
0

最新回复(0)