C语言编程题,输入3个整数,由小到大输出,用指针变量

 我来答
邹宣别雁露
2020-05-07 · TA获得超过3549个赞
知道大有可为答主
回答量:3065
采纳率:28%
帮助的人:164万
展开全部
#include
<stdio.h>
void
main()
{
int
a,b,c,x;
int
*pa,*pb,*pc;
pa=&a;//这里的指针前的星号去掉就行了
pb=&b;//
pc=&c;//三个都一样
printf("请输入3个整数\n");
scanf("%d%d%d",pa,pb,pc);
if(*pa>*pb)
{
x=*pa;
*pa=*pb;
*pb=x;
}
if(*pa>*pc)
{
x=*pa;
*pa=*pc;
*pc=x;
}
if(*pb>*pc)
{
x=*pb;
*pb=*pc;
*pc=x;
}
printf("这3个数由小到大的排列顺序为%d,%d,%d",*pa,*pb,*pc);
}
闫诺沙高洁
2019-07-08 · TA获得超过3695个赞
知道大有可为答主
回答量:3063
采纳率:28%
帮助的人:250万
展开全部
#include
void
main()
{
void
swap(int
*p1,int
*p2);/*交换函数的申明*/
int
*a1
,
*b1
,
*c1
,
a
,
b
,
c
;
a1
=
&a;
b1
=
&b;
c1
=
&c;
scanf("%d%d%d",a1,b1,c1);/*输入三个整数赋给a,b,c,*/
if(*a1
>
*b1)
swap(
a1,b1);
if(*a1
>
*c1)
swap(
a1,c1);
if(*b1
>
*c1)
swap(
b1,c1);
printf("%d,%d,%d",*a1,*b1,*c1);
}
void
swap(int
*
p1,int
*
p2)
{
*p1
=
*p1^*p2;/*语句中的^为C语言按位异或运算*/
*p2
=
*p2^*p1;
*p1
=
*p1^*p2;
}
/*经过三次交换后,a1,b1,c1还是指向a
,
b
,c,但是a,b,c中的数值变了*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式