swap();

proorck6 2010-11-01 12:20:46

#include <stdio.h>
void swap(int a,int b)
{
int t;
t=a,a=b,b=t;
}

main()
{
int x=3,y=4;
swap(x,y);
printf("x=%d,y=%d",x,y);
getchar();
}

这段代码要怎么改一下才对?
...全文
175 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
libinfei8848 2010-11-01
  • 打赏
  • 举报
回复
传值或者传引用
  • 打赏
  • 举报
回复
http://blog.csdn.net/hairetz/archive/2009/05/03/4145107.aspx


void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("Exchg1:x=%d,y=%d\n",x,y);
}
void Exchg2(int &x, int &y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("Exchg2:x=%d,y=%d\n",x,y);
}

void Exchg3(int *x, int *y)
{
int tmp;
tmp=*x;
*x=*y;
*y=tmp;
printf("Exchg3:x=%d,y=%d\n",*x,*y);
}


void main()
{
int a=4,b=6;
Exchg1 (a,b) ;
printf("a=%d,b=%d\n",a,b);
Exchg2 (a,b);
printf("a=%d,b=%d\n",a,b);
Exchg3(&a,&b) ;
printf("a=%d,b=%d\n",a,b);
}
时间一粒 2010-11-01
  • 打赏
  • 举报
回复

#include <stdio.h>
void swap(int *a,int *b)
{
int t;
t=*a,*a=*b,*b=t;
}

main()
{
int x=3,y=4;
swap(&x,&y);
printf("x=%d,y=%d",x,y);
getchar();
}
hns888 2010-11-01
  • 打赏
  • 举报
回复
授汝于鱼,不如授之于鱼,此文章看了就明白:http://blog.csdn.net/hns888/archive/2010/11/01/5979266.aspx
sichuanwww 2010-11-01
  • 打赏
  • 举报
回复
#include <stdio.h>
void swap(int &a,int &b)
{
int t;
t=a,a=b,b=t;
}

main()
{
int x=3,y=4;
swap(&x,&y);
printf("x=%d,y=%d",x,y);
getchar();
}


//传值与传地址的问题。
dingshaofengbinbin 2010-11-01
  • 打赏
  • 举报
回复
[code=C/C++]
#include <stdio.h>
void swap(int &a,int &b)
{
int t;
t=a,a=b,b=t;
}

main()
{
int x=3,y=4;
swap(x,y);
printf("x=%d,y=%d",x,y);
getchar();
}

上面的颜色没加出来,悲剧!!
[code]
dingshaofengbinbin 2010-11-01
  • 打赏
  • 举报
回复

#include <stdio.h>
void swap(int &a,int &b)
{
int t;
t=a,a=b,b=t;
}

main()
{
int x=3,y=4;
swap(x,y);
printf("x=%d,y=%d",x,y);
getchar();
}


luciferisnotsatan 2010-11-01
  • 打赏
  • 举报
回复
void swap(int &a,int &b)
walkersfaint 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hairetz 的回复:]
http://blog.csdn.net/hairetz/archive/2009/05/03/4145107.aspx


C/C++ code

void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("Exchg1:x=%d,y=%d\n",x,y);
}
v……
[/Quote]
+1,这个很形象的表示了
huhacn 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 proorck6 的回复:]
line 2:parse error before '&' token
In function 'swap':
除了6楼的,其他的全是上边的错误,这是为什么?
[/Quote]
楼主用的c还是c++?C语言没有引用,C++才有
proorck6 2010-11-01
  • 打赏
  • 举报
回复
line 2:parse error before '&' token
In function 'swap':
除了6楼的,其他的全是上边的错误,这是为什么?
赵4老师 2010-11-01
  • 打赏
  • 举报
回复
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!

指针即地址
引用即别名
黎翔 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hairetz 的回复:]

http://blog.csdn.net/hairetz/archive/2009/05/03/4145107.aspx

C/C++ code

void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("Exchg1:x=%d,y=%d\n",x,y);
}
void Exchg2……
[/Quote]
有时间看看按值传送、引用、还有指针的区别就知道拉
foolfoolpig 2010-11-01
  • 打赏
  • 举报
回复
改成void swap(int &a,int &b)就好了
無_1024 2010-11-01
  • 打赏
  • 举报
回复

#include <stdio.h>
void swap(int &a,int &b)
{
int t;
t=a;
a=b;
b=t;
}

main()
{
int x=3,y=4;
swap(x,y);
printf("x=%d,y=%d",x,y);
getchar();
}

69,371

社区成员

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

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