c语言定义两个数据交换的函数,实现输入a和b两个整数,调用函数完成按先大后小的顺序输出a和b。
时间: 2024-02-23 10:58:47 浏览: 67
可以使用两种方法实现两个数的交换,一种是使用中间变量,一种是使用位运算。下面分别介绍两种方法实现函数的代码。
方法一:使用中间变量
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int *b) {
if (*a < *b) {
swap(a, b);
}
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
sort(&a, &b);
printf("%d %d\n", a, b);
return 0;
}
```
方法二:使用位运算
```c
void swap(int *a, int *b) {
*a ^= *b;
*b ^= *a;
*a ^= *b;
}
void sort(int *a, int *b) {
if (*a < *b) {
swap(a, b);
}
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
sort(&a, &b);
printf("%d %d\n", a, b);
return 0;
}
```
以上两种方法都是定义了一个交换函数swap和一个排序函数sort,其中swap函数用来交换两个整数的值,sort函数用来判断两个整数的大小并交换它们的值。最后在主函数中输入a和b的值后,调用sort函数完成先大后小的排序,并输出a和b的值。
阅读全文