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

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

#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
提交
取消
C语言入门
  • 参与学习       926216    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信