G_BLANK
2017-10-31 15:35
采纳率: 100%
浏览 3.9k
已采纳

怎么在一个子函数里使用全局变量作为参数???

例如:
已经定义了一个全局变量extern int X
然后在一个函数SUM(int X,int Y,int Z)
我想让这个函数的参数intX调用的是全局变量X
怎么弄?

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

10条回答 默认 最新

  • GsoftYF223 2017-11-03 05:25
    已采纳

    在调用的地方直接 SUM(X,..., ...); 就可以了

    点赞 打赏 评论
  • blownewbee 2017-11-01 00:26

    为什么不把函数参数改名呢。函数参数改名,只有这个函数本身的代码需要修改。

    点赞 打赏 评论
  • java_trainee 2017-11-01 02:35

    你如果X是全局变量的话,这个方法的参数应该不需要int X吧

    点赞 打赏 评论
  • hissql 2017-11-01 03:02

    可以把sum函数后的int X改为X

    点赞 打赏 评论
  • qls315 2017-11-06 01:04

    如果想让函数使用这个的话,不需要将全局变量作为参数,可以直接在函数快里使用,但是函数的参数不能有与全局变量同名的,否则会覆盖全局变量。

    点赞 打赏 评论
  • moge19 2017-11-30 05:00

    在sum函数中用int a =::X 取得a的值即为全局变量X的值

    点赞 打赏 评论
  • asdafas1 2017-12-12 10:37

    改名是最好的,实在想用的话可以试试指针传递;

    点赞 打赏 评论
  • duzp 2017-12-21 03:10

    调用时直接将X作为参数传入就行了吧

    点赞 打赏 评论
  • VF-TECH 2018-02-12 02:38

    你将这个参数定义成全局的,直接在函数里使用赋值就可以了

    点赞 打赏 评论
  • 飞翔的鸡翅中 2018-06-20 13:02

    正常直接调用就好,
    如果是有两段代码文件要合并到一起 ,改变量名称太玛法的话,其实可以用指针来操作变量。
    int *X_p=&X;
    之后用*X_p代替X

    #include
    #include
    int X = 2;

    int *X_p = &X;

    void SUM(int y,int z){
    *X_p = y+z;
    }

    void SUM_P(int *X,int y,int z){
    *X = y+z;
    }

    int main()
    {

    SUM(100,100);
    printf("X = %d\n",X);
    SUM_P(X_p,200,100);
    printf("X = %d\n",X);
    return 0;
    

    }

    打印分别为200 和300

    点赞 打赏 评论

相关推荐 更多相似问题