c语言中怎么用指针调换顺序

就是调换三个数的顺序... 就是调换三个数的顺序 展开
 我来答
卷岸柔念2U
2010-06-07 · TA获得超过770个赞
知道答主
回答量:127
采纳率:0%
帮助的人:197万
展开全部
要调换三个数的顺序,用排列组合原理简单的计算总共有6种方法,不知道楼主是想按其中某种方法交换变量的具体数值,还是将所有6种排序都打印出来?

例如,a=1,b=2,c=3,交换后结果为:a=3,b=1,c=2.
首先需要两个中间变量作为交换的媒介。程序如下

main()
{
int a=1,b=2,c=3;
int *x=a,*y=b,*z=c;/*定义3个指针变量,并分别赋予初值为a,b,c的地址。*/
int *p=null,*s=null;/*x为交换中介指针变量,初始化为空*/
*p=*x;
*s=*y;
*x=*z;
*y=*p;
*z=*s;
printf("%d %d %d",a,b,c);
getch();

}
其实交换数不需要用到指针,直接运用变量本身也可交换。当然指针交换的好处在于函数内部可以实际交换两个数的值。
心垒存e
2010-06-04 · TA获得超过222个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:142万
展开全部
/* Note:Your choice is C IDE */
#include "stdio.h"

main()
{
int pf;/*中间变量用于地址交换*/
int a=1,b=2,c=3;
int *pa,*pb,*pc;
pa=&a;
pb=&b;
pc=&c;
printf("调换前:%d,%d,%d\n",*pa,*pb,*pc);
/*下面为地址交换*/
pf=pa;
pa=pc;
pc=pb;
pb=pf;
printf("调换后:%d,%d,%d",*pa,*pb,*pc);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-06-04
展开全部
int a,b,c;
int *pa,*pb,*pc;
pa=&a;
pb=&b;
pc=&c;
pc=pa;
pa=&c;
print"pa,pb,pc"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miaopeng_
2010-06-04
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
利用一个临时变量
a=1
b=2
c=3
d=""
d=a
a=b
b=c
c=d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式