为了账号安全,请及时绑定邮箱和手机立即绑定

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;

}


正在回答

2 回答

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

3 回复 有任何疑惑可以回复我~
#1

发展中的程序猿 提问者

非常感谢!
2017-05-08 回复 有任何疑惑可以回复我~

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

2 回复 有任何疑惑可以回复我~
#1

qq_谁说_0

那if语句外在输出printf("main方法内, x=%d\n", x);时为什么上面的语句在if语句中加上 int x = 100 就能输出 main方法内,x=10 啊
2017-06-10 回复 有任何疑惑可以回复我~
#2

1风2逝3 回复 qq_谁说_0

都说了main方法内 x=10,这里的int x=10在整个main方法里可以引用,算是main里的原装了。int x = 100是在main方法内的,if循环里定义的,只在if循环这个局部里起作用。
2017-07-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926226    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

5-10 int 的问题(如题)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信