C语言用指针法交换两个数的顺序问题
答案:4 悬赏:60 手机版
解决时间 2021-03-31 04:47
- 提问者网友:感性作祟
- 2021-03-30 04:49
C语言用指针法交换两个数的顺序问题
最佳答案
- 五星知识达人网友:掌灯师
- 2021-03-30 06:14
int swap(int *a,int *b)//a与b分别复制主函数x与y的值,即a与x的指向相同,b与y的指向相同
{
int *t;
{t=a;a=b;b=t;}//通过交换,a和y的指向相同,b与x的指向相同,但是,x与y没有改变原来指向,这样函数swap结束,a与b消失,输出结果不变
}
换成
int t;
{t=*a;*a=*b;*b=t;}//将改变x和y指向的地址的值,达到交换目的
{
int *t;
{t=a;a=b;b=t;}//通过交换,a和y的指向相同,b与x的指向相同,但是,x与y没有改变原来指向,这样函数swap结束,a与b消失,输出结果不变
}
换成
int t;
{t=*a;*a=*b;*b=t;}//将改变x和y指向的地址的值,达到交换目的
全部回答
- 1楼网友:轮獄道
- 2021-03-30 10:02
int swap(int *a,int *b)
{
int *t;
{t=a;a=b;b=t;}//改为{*t=*a;*a=*b;*b=*t;}
}
{
int *t;
{t=a;a=b;b=t;}//改为{*t=*a;*a=*b;*b=*t;}
}
- 2楼网友:山河有幸埋战骨
- 2021-03-30 08:46
#include
main()
{
void swap(int *a,int *b);//无返回值时类型为void;
int a,b,*x,*y;
scanf("%d %d",&a,&b);
x=&a;y=&b;
swap(x,y);
printf("%d %d\n",*x,*y);
}
void swap(int *a,int *b)
{
int t;
{t=*a;*a=*b;*b=t;}//这样才能完全调换
}
main()
{
void swap(int *a,int *b);//无返回值时类型为void;
int a,b,*x,*y;
scanf("%d %d",&a,&b);
x=&a;y=&b;
swap(x,y);
printf("%d %d\n",*x,*y);
}
void swap(int *a,int *b)
{
int t;
{t=*a;*a=*b;*b=t;}//这样才能完全调换
}
- 3楼网友:怀裏藏嬌
- 2021-03-30 07:10
#include
void swap(int *a,int *b);
void main()
{
int a,b;
scanf("%d %d",&a,&b);
swap(&a,&b);
printf("%d %d\n",a,b);
}
void swap(int *a,int *b)
{
int t;
t=*a;*a=*b;*b=t;
}
void swap(int *a,int *b);
void main()
{
int a,b;
scanf("%d %d",&a,&b);
swap(&a,&b);
printf("%d %d\n",a,b);
}
void swap(int *a,int *b)
{
int t;
t=*a;*a=*b;*b=t;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯