A-A+

有以下程序 #include int f(int m) { static

2022-08-05 20:04:02 问答库 阅读 171 次

问题详情

有以下程序
#include<stdio.h>
int f(int m)
{ static int n=0;
n+=m:
return n;
}
main()
{ int n=0;
printf("%d,",f(n));
printf("%dn",f(n++));
}
程序运行后的输出结果是
A.1,2
B.1,1
C.2,3
D.3,3请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:static变量用于局部变量中有记忆功能和全局生存期。函数中的静态变量的特点是每次调用函数,静态变量的值是上次调用完该函数后的静态变量值,所以在此题中,第一调用函数,返回1,此时函数中的静态变量n的值为l,所以第二次调用函数时,返回值为2。

考点:程序