jd8052655
jd8052655
2015-10-11 04:14
采纳率: 66.7%
浏览 1.9k
已采纳

C语言简单的全局变量定义问题

请问为什么我在函数外面定义了全局变量,变量的值没有改变?图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • wda2399123
    wda2399123 2015-10-11 06:53
    已采纳

    你这个问题是因为你在add这个函数里定义了一个形参x,与全局变量x冲突,所以编译器自动屏蔽全局变量x,也就是说这个形参x和全局变量x不是同一个变量,你对形参做的一切改动在其他函数里都是看不到的。其实你既然已经定义了全局变量,那add函数就根本不需要再把x的值传进去,直接执行x=x+3即可,因为x是全局变量。图片说明

    点赞 评论
  • oumentg
    oumentg 2015-10-11 04:35

    你的代码里 2-6行的代码必需放在主函数main方法里,否则像你这样写,2-6行的代码就白白的戳在那,不起任何作用。以至于主函数中你调用的add(x)方法没有任何用。
    你的代码实际上等价于:

    #include
    int main()
    {
    x=5;
    printf("%d",x);
    }

    有些代码你白写了

    点赞 评论
  • u011002533
    一只大懒猫 2015-10-11 04:41

    你的主函数呢?主函数都不写你定义有什么用啊

    点赞 评论
  • u011002533
    一只大懒猫 2015-10-11 04:42

    你的主函数呢?主函数都不写你定义有什么用啊

    点赞 评论

相关推荐