c语言的全局变量和局部变量的问题

#include<stdio.h>externintj=1;voidmain(){voidadd();intsum(intx);intk,s;add();j++;prin... #include<stdio.h>extern int j=1;void main(){ void add(); int sum(int x); int k,s; add(); j++; printf(“j=%d\n”,j); for(k=1;k<=10;k++) s=sum(k); printf(“s=%d\n”,s); } void add() { int j=0; j++;} int sum(int j) { int x=0; x+=j; return(x);}结果为2,10;求解释 展开
 我来答
hemengsi123
2013-05-05 · TA获得超过465个赞
知道答主
回答量:89
采纳率:0%
帮助的人:39万
展开全部
#include<stdio.h>
extern int j=1;
void main()
{
void add();
int sum(int x);
int k,s;
add();
j++; //j为全局变量 j = j+1
printf("j=%d\n",j);
for(k=1;k<=10;k++)
s=sum(k);
printf("s=%d\n",s);
}
void add()
{
//int j=0; //全局变量j被屏蔽
//检验 //最后输出 还是 j= 2;
int j=2;
j++; // j为局部变量
}
int sum(int j)
{
int x=0; //x为局部变量,每次进入都初始为0。当最后一次循环进入时j=k=10; x= 0 + 10 =10
x+=j;
return(x);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式