为什么我的结果 if语句内: x=50 main方法内:x=50 fn1():x=77
结果 这样就好理解了吧
两种方法:(1)如同这个小节的要求,即将if语句内的x=100添加一个整形标识符int,这样做其实就是告诉了电脑一件事,if语句内的这个x(添加了int的)只在if语句中才有作用,出了if语句就不存在if语句内的这个x=100的值;(2)在printf("main方法内, x=%d\n", x);这条语句中,结果处的x改为x/5则最终输出结果相同(即:printf("main方法内, x=%d\n", x/5);),也就是if语句内的x=100为main函数的全局变量,并不受整个程序的全局调用方法干扰(因为main函数中已经声明了本函数内的int)
if语句中定义 int x=100使x=100只存在与if语句中,外部还是x=10