有以下程序: #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
求解答过程 展开
#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
求解答过程 展开
1个回答
展开全部
#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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询