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

5-10 int 的问题(如题)

#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;     //加上int是怎么计算的

        x /= 2;

        printf("if语句内, x=%d\n", x);       

    }

    printf("main方法内, x=%d\n", x);

    fn1();

    return 0;

}


提问者:发展中的程序猿 2017-05-04 15:10

个回答

  • 慕设计1418654
    2017-05-04 17:11:39
    已采纳

    是理解的问题吗,如果是的话,那么可以理解为if函数内的int事再赋值,也就是说,在if函数内,x其实是“x”,并不是if函数外的那个x=10,if函数内部调用的也就是“x”,而不是x。

  • 1风2逝3
    2017-05-04 17:47:23

    在复合语句内(if语句)新定义变量x=100,x/=2(把x除以2后的值赋给x)等于50