有以下程序: #include int mul(int val) { static int init=1; return init *=val; } main() { int i; f

admin2019-01-11  29

问题 有以下程序:
    #include
    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、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,第五层init=24,val=5,因此结果为1,2,6,24,120。故答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/wYa0FFFM
0

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