C言語で3つの数を比較するためにswap関数を使用する方法は何ですか?
C言語では、swap関数を使って三つの数を比較することができます。以下はサンプルコードです:
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2, num3;
printf("请输入三个整数:");
scanf("%d %d %d", &num1, &num2, &num3);
if (num1 > num2) {
swap(&num1, &num2);
}
if (num1 > num3) {
swap(&num1, &num3);
}
if (num2 > num3) {
swap(&num2, &num3);
}
printf("从小到大的顺序为:%d %d %d\n", num1, num2, num3);
return 0;
}
上記のコードでは、2つの整数の値を交換するswap関数が定義されています。メインの関数では、まず3つの整数を入力します。次に、3つのif文を使用してこれらの数値を比較し、swap関数を呼び出してそれらの順序が昇順になるようにします。最後に、昇順で出力されます。