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

有以下程序:#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.10
B.8
C.7
D.9
求解答过程
展开
 我来答
ly10604828
2015-07-01 · TA获得超过1465个赞
知道小有建树答主
回答量:341
采纳率:100%
帮助的人:359万
展开全部
#include<stdio.h>
int f(int n);
main(){
int a=3,s;
s=f(a);//s=4
s=s+f(a);//f(a)=5;s=4+5=9;
printf("%d\n",s);
}
int f(int n){
static int a=1;//这里是静态变量,静态变量的特点是赋值语句仅执行一次
n+=a++;//这句话相当于n=n+a;a++;后置++先返回原数值,然后自变量+1
//所以第一次s=f(3)n=3,a=1;n+=1=4,a=2,f(a)=4
//s=4;
//第二次f(3),n=3,(a=1这句话不执行),a=2,n+=2=5,a=3,f(3)=5
//s+=5=9
return n;
}
程序运行后的输出结果是 9;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式