为了账号安全,请及时绑定邮箱和手机立即绑定

局部变量与全局里问题在里面大神来教一下小白啊

#include <stdio.h>

int x = 1;

int fn1(int x)

{

int y,z;

z = 2;

y = x+z;

printf("y=%d\n",y);这个为局部变量我知道但是为什么最后y=4它没有定义x为多少啊

return 0;

}

int main()

{

fn1 (2);

int y = 10;

printf("x+y=%d",y+x);

getchar();

}


正在回答

代码语言

1 回答

在main函数中,

fn1 (2);

即定义了x = 2,然后在main函数中fn1(2)运行了一遍,y=x+z=2+2=4.

整个过程是从main函数开始运行的,虽然fn1()在main函数前定义,但是只是摆在前面供main函数之后调用,运行的开始部位是int main()所在的地方。

1 回复 有任何疑惑可以回复我~
#1

闷a 提问者

非常感谢!
2017-05-03 回复 有任何疑惑可以回复我~
#2

慕九州0379430

这个程序的执行顺序是什么?
2017-10-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

局部变量与全局里问题在里面大神来教一下小白啊

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号