
计算机二级c语言static 一道题,求大神解答
有以下程序:#include<stdio.h>intf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}i...
有以下程序: #include <stdio.h> 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) 9 B) 8 C) 7 D) 10 答案是9而不是8,可是第一次执行完后n的值是4,但是a是静态变量,第二次执行的时候应该是4+1+3=8 为什么答案是9,跪求大神解答,谢谢!
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询