有以下程序: #include<stdio.h> int f(int n) { static int a=1; n+=a++; return n: ) main() { Int a=3,s: s=f(a);s=s+f

admin2021-04-28  42

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

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

答案C

解析 在函数f中,整型变量a为静态变量,所以每次调用函数f时不再为a重新赋值.而且a的值只有在程序结束时才被释放。第一次调用f后n=4,a=2;第二次调用时,a已经变成2了,所以结果为4+5=9。
转载请注明原文地址:https://kaotiyun.com/show/QUtp777K
0

最新回复(0)