问答详情
源自:5-10 局部与全局

为什么我输出不了x=10??????????

为什么我的结果   if语句内: x=50                main方法内:x=50                     fn1():x=77

提问者:慕哥6617675 2017-08-10 18:16

个回答

  • 慕UI0344854
    2018-06-17 00:00:18

    https://img3.mukewang.com/5b2533df0001873a03400333.jpg  结果https://img2.mukewang.com/5b2533f40001f95001980065.jpg 这样就好理解了吧

  • KingMingLi
    2018-02-12 16:10:43

    两种方法:(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)

  • 慕UI2636833
    2017-08-11 13:07:29

    if语句中定义 int x=100使x=100只存在与if语句中,外部还是x=10