c语言指针参数引用传递问题

#include<stdio.h>
void Exchg3(int &x,int &y) / 注意定义处的形式参数的格式与值传递不同 /

{
    int tmp = x;
    x = y;
    y = tmp;
    printf("x = %d, y = %d.\n", x, y);
}

main()

{
    int a = 4;
    int b = 6;
    Exchg3(a,b); /*注意:这里调用方式与值传递一样*/
    printf("a = %d, b = %d.\n", a, b);
}

这段代码编译会报错,实在找不出错误,求大佬指导...

阅读 2.4k
3 个回答

C还没有引用传参,请传递指针

void Exchg3(int *x,int *y)
{
    int tmp = *x;
    *x = *y;
    *y = tmp;
}
main()
{
    int a = 4;
    int b = 6;
    Exchg3(&a,&b);
    printf("a = %d, b = %d.\n", a, b);
}

1.文件后缀名改为.cpp。 引用这个东西是c++有的,c没有,那么用c++编译器去编译就行了。
2.&x改为*x,引用从某种意义上来说是安全的指针,那么传递指针就行了。

使用cpp编译器编译

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题