课程
/后端开发
/C
/C语言入门
为什么最后fn1()会输出x=77
2019-06-25
源自:C语言入门 5-10
正在回答
自定义函数fn1()内并未定义(它的局部)变量,而printf("fn1(): x=%d\n", x);要求打印出x的值,这时候只能输出全局变量x的值77。希望能对你有所帮助
因为开头定义的是全局变量
局部变量仅作用于函数体内部 全局变量作用于整个源程序文件 fn1和main是两个不同的函数
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
2 回答请问fn1(): x=77是怎么出来的?
4 回答void 函数不是无返回值吗?为什么第17行fn1()会输出x=77?
3 回答为什么 x=x*2,输出是20。 x==x*2 输出是10?
2 回答为什么输出最后一行会多一个“?”
3 回答#include <stdio.h> int x = 77; void fn1() { printf("fn1(): x=%d\n", x); } int main() { int x = 10; if(x>0) { static x = 100; x /= 2; printf("if语句内, x=%d\n", x); } printf("main方法内, x=%d\n", x);