好几个问题!!!
为什么:
不加int ,main函数x输出50?
去掉x=100,if ,main函数都输出5?
去掉int x=10,x=100,if,main,fnl()都输出38?
x/2可以影响到fnl()?
为什么:
不加int ,main函数x输出50?
去掉x=100,if ,main函数都输出5?
去掉int x=10,x=100,if,main,fnl()都输出38?
x/2可以影响到fnl()?
2021-10-07
int x=77; 标为x(1),它是整个程序的变量,全局变量
int x=10; 标为x(2),这是函数main() 中的全局变量,也是整个程序的局部变量
int x=100; 标为x(3),这是if语句中的全局变量,这也是整个程序的局部变量,但级别比x(2) 还低,被引用的范围更小。若写称 x=100;这就是给x(2)进行赋值,也就是说x(2)的值被改成100了,main()函数中使用x的位置,其值都是100
在main()函数中,运行到
fn1();
时,程序暂时跳出main()函数,去执行自定义函数fn1(),此时已经跳出了main()函数的范围,故x为x(1)的内容。
整个完整的程序中,虽然定义的变量都名为x,但对于计算机而言,是三个不同的变量,并且使用的范围也是不一样的。
int 是告诉计算机定义新变量的标识,同时确定数据类型,类似的还有char,short,long,float,double等。
举报