A-A+
有以下程序 #include int a=1; intf(int c) {
问题详情
有以下程序 #include<stdio.h> int a=1; intf(int c) {static int a=2: c=c+1: return(a++)+C; } main (int i,k=0; for(i=0;i<2;i++){int a=3;k+=f(a);} k+=a: printf("%d\n",k); } 程序运行结果是()。
A.14
B.15
C.16
D.17请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
在主函数中,k的初值为0,首先调用函数f(3),返回值为6,k的值变为6,而函数intfun(intc)中的局部静态变量a等于3。第二次调用函数f(3)时,返回值为7,所以k=6+7=13。退出循环语句,k再加上全局变量a的值l,其最终的值为14。