#include <stdio.h> int x = 77;//定义为全局变量 void fn1() { printf("fn1(): x=%d\n", x); } int main() { int x = 10; //定义了为主函数里面所有函数都可以使用 if(x>0) { int x = 100;//定义为if函数里面的局部变量 x /= 2; printf("if语句内, x=%d\n", x); } printf("main方法内, x=%d\n", x); fn1(); return 0; }
int main() { int x = 10; //定义了为主函数里面所有函数都可以使用 if(x>0) { x = 100; //重新定义x全局变量并进行操作,所以得出 50 int x = 100;//另外定义一个x局部变量,暂时代替全局x变量,对全局变量x不进行操作,所以得出 10 x /= 2; printf("if语句内, x=%d\n", x); } printf("main方法内, x=%d\n", x); fn1(); return 0; }
为什么加了int就是了
这就是C语言中所谓的“强龙不压地头蛇”!