C程序交换两个数字
在此示例中,您将学习使用两种不同的技术在C语言编程中交换两个数字。
要理解此示例,您应该了解以下C语言编程主题:
使用临时变量交换数字
#include
int main() {
double first, second, temp;
printf("输入第一个数字: ");
scanf("%lf", &first);
printf("输入第二个数字: ");
scanf("%lf", &second);
//first的值分配给temp
temp = first;
// second的值被赋给first
first = second;
// temp的值(first的初始值)被赋给second
second = temp;
printf("\n交换后,firstNumber = %.2lf\n", first);
printf("交换后,secondNumber = %.2lf", second);
return 0;
}
输出结果输入第一个数字: 56.5
输入第二个数字: 45.8
交换后,firstNumber = 45.80
交换后,secondNumber = 56.50
在上面的程序中,为temp变量分配了first变量的值。
然后,将first变量的值分配给second变量。
最终,temp(保存了的初始值first)被分配给second。这样就完成了交换过程。
交换数字而不使用临时变量
#include
int main() {
double a, b;
printf("Enter a: ");
scanf("%lf", &a);
printf("Enter b: ");
scanf("%lf", &b);
// 交换
// a = (initial_a - initial_b)
a = a - b;
// b = (initial_a - initial_b) + initial_b = initial_a
b = a + b;
// a = initial_a - (initial_a - initial_b) = initial_b
a = b - a;
printf("交换后, a = %.2lf\n", a);
printf("交换后, b = %.2lf", b);
return 0;
}
输出结果Enter a: 10.25
Enter b: -12.5
交换后, a = -12.50
交换后, b = 10.25