给定三个数 a,b,c,从小到大输出这三个数,这个怎么做呀
数字范围是不定的
#include <stdio.h>
void swap(int* x, int *y) { // (1)
int tmp = *x;
*x = *y;
*y = tmp;
}
int main() {
int a, b, c;
while(scanf("%d %d %d", &a, &b, &c) != EOF) {
if(a > b) swap(&a, &b); // (2)
if(b > c) swap(&b, &c); // (3)
if(a > b) swap(&a, &b); // (4)
printf("%d %d %d\n", a, b, c);
}
return 0;
}
swap
这个函数用来实现对两个整数的交换,int *x
代表一个指针,指向的是某个变量的地址,函数体执行的就是交换两个变量的操作。其中,*x
代表的是取地址中的值。swap
函数的参数是指针,这里需要用&
符号把变量转换成它的地址,即指针。