C语言函数参数问题

yuanzijun_Zaki 2017-05-03 12:22:57
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);
return(0);
}
求大神解读,为什么第一句就报错? C语言里面难道不能引用?或者说正确的格式应该是什么
我一直对(int* &q)和(int &q)有所疑惑,这两者到底有什么区别 还有应该怎么正确调用啊?
...全文
435 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-06-13
  • 打赏
  • 举报
回复
引用是足,画蛇添足的足。个人意见。
wang0635 2017-06-13
  • 打赏
  • 举报
回复
学严蔚敏落下的毛病
  • 打赏
  • 举报
回复
C语言下没有引用,C++才有,所以要地址传递,可以用指针
vcgaoshou 2017-06-13
  • 打赏
  • 举报
回复
#include<iostream.h> void Exchg3(int &x, int &y) { int tmp = x; x = y; y = tmp; cout<<"x = "<<x<<",y = "<<y<<endl; } main() { int a = 4; int b = 6; Exchg3(a, b); cout<<"a = "<<a<<",b = "<<b<<endl; return(0); }
「已注销」 2017-06-12
  • 打赏
  • 举报
回复
C语言没有引用,关于C语言的知识,可以参考一下这个http://blog.csdn.net/libing403?viewmode=contents
ma_ke_xin 2017-06-12
  • 打赏
  • 举报
回复
C里面没有引用的
「已注销」 2017-06-09
  • 打赏
  • 举报
回复
里面有关于c语言的资料,对你可能有用 http://blog.csdn.net/libing403?viewmode=contents
paschen 2017-05-03
  • 打赏
  • 举报
回复
C语言没有引用,C++才有 C语言需要按指针传递来达到类似引用的效果
starytx 2017-05-03
  • 打赏
  • 举报
回复
c要改参数值,只能用指针,传实参地址进去了
自信男孩 2017-05-03
  • 打赏
  • 举报
回复
引用是C++的特殊使用,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);
}
int main()
{
   int a = 4;
   int b = 6;

   Exchg3(&a, &b);
   printf("a = %d, b = %d\n", a, b);

   return 0;
}
欧阳春晖 2017-05-03
  • 打赏
  • 举报
回复
楼主说对了,c里面不能用引用
flying_music 2017-05-03
  • 打赏
  • 举报
回复
C语言里没有引用,只有指针,只能用int *p,或者如果不需要改变实参可以传值
yuanzijun_Zaki 2017-05-03
  • 打赏
  • 举报
回复
引用 1 楼 vnvlyp的回复:
C++才有引用,C只有指针
那在C里面,定义函数参数时,上面两种都不可以吗,只能int*p?
yuanzijun_Zaki 2017-05-03
  • 打赏
  • 举报
回复
明白了,感激各位大神
vnvlyp 2017-05-03
  • 打赏
  • 举报
回复
C++才有引用,C只有指针

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧