C语言三个整数排序
安徽2019高考分数线-贬义词
题目:输入三个整数a,b,c,请把这三个数由小到大输出。
方法一:
#include
void swap1(int *,int *);
int
main()
{
int a,b,c;
scanf(
swap1(&a,&b);
swap1(&a,&c);
swap1(&b,&c);
printf(
}
void
swap1(int *p1, int *p2)
{ int temp;
if(*p1>*p2)
{temp=*p2; *p2=*p1; *p1=temp;}
}
方法二:
#include
void swap1(int &,int &);
int main()
{
int a,b,c;
scanf(
swap1(a,b);
swap1(a,c);
swap1(b,c);
printf(
}
void swap1(int &p1, int &p2)
{ int temp;
if(p1>p2)
{temp=p2; p2=p1; p1=temp;}
}
下面列一个错误的方法:形参的改变没
有改
变实参,所以输入1,5,3输出还是
1,5,3
#include
void
swap1(int,int);
int main()
{
int
a,b,c;
scanf(
swap1(a,b);
swap1(a,c);
swap1(b,c);
printf(
}
void
swap1(int p1, int p2)
{ int temp;
if(p1>p2)
{temp=p2; p2=p1; p1=temp;}
}