作业帮 > 综合 > 作业

C语言 输入三个数 按由小到大排序 函数调用的方法

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/13 01:32:20
C语言 输入三个数 按由小到大排序 函数调用的方法
#include
int swap(int a,int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
int main()
{
int a,b,c;
printf("Please input three integers:\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b) swap(a,b);
if(a>c) swap(a,c);
if(b>c) swap(b,c);
printf("%d %d %d \n",a,b,c);
return 0;
}
这个有什么地方不对?
C语言 输入三个数 按由小到大排序 函数调用的方法
因为值的交换在函数里面,交换是无效的,需要用地址的交换
#include
int swap(int *a, int *b)
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
printf("a=%d,b=%d\n",*a,*b);
}
int main()
{
int a,b,c;
printf("Please input three integers:\n");
scanf("%d,%d,%d", &a,&b,&c);
if(a>b)swap(&a,&b);
if(a>c) swap(&a,&c);
if(b>c) swap(&b,&c);
printf("%d %d %d \n",a,b,c);
return 0;
}