用转换指的指向做
//第二题
#include<stdio.h>
void s( int *q1 , int *q2)
{
int t ;
t = *q1 ;
*q1 = *q2 ;
*q2 = t ;
}
int main ()
{
int a , b , c ;
int *p1 , *p2 , *p3 ;
scanf("%d %d %d",&a,&b,&c);
p1 = &a ;
p2 = &b ;
p3 = &c ;
if ( a < b )
s( p1 , p2);
if ( a < c )
s( p1 , p3);
if ( b < c )
s(p2 , p3);
printf ("%d %d %d\n",*p1,*p2,*p3);
return 0;
}
该程序使用指针交换三个整数变量a、b和c的值。通过函数s交换两个指针所指向的数值,然后根据条件判断并调用函数,确保a、b、c按升序排列。最后输出排序后的数值。

被折叠的 条评论
为什么被折叠?



