有以下程序: #include int f(int n); main() { int a=3,s; s=f(a);s=s+f(a);printf("%d\n",s); } int f(int n)

admin2020-11-27  21

问题 有以下程序:
    #include
    int f(int n);
    main()
    {  int a=3,s;
    s=f(a);s=s+f(a);printf("%d\n",s);
    }
    int f(int n)
    {  static int a=1;
    n+:a++;
    return n;
    }
    程序运行以后的输出结果是(    )。

选项 A、7
B、8
C、9
D、10

答案C

解析 在函数f中,整型变量a为静态变量,所以每次调用函数f时不再为a重新赋值。第一次调用f后n=4,a=2;第二次调用时,返回n=3+2=5;s=4+5=9。
转载请注明原文地址:https://kaotiyun.com/show/Ze3p777K
0

最新回复(0)