c语言输入两个整数,交换后输出
时间: 2024-10-12 08:14:34 浏览: 47
在C语言中,交换两个整数的经典方法是不需要额外的临时变量,通过算术运算完成。以下是简单的步骤:
```c
#include <stdio.h>
void swap(int* a, int* b) {
// 两个指针指向的值相加减,然后各自赋值给对方
*a = *a + *b; // a = a + b
*b = *a - *b; // b = (a + b) - b = a
*a = *a - *b; // a = a - b,此时a就是原来的b值
}
int main() {
int num1, num2;
printf("请输入第一个整数: ");
scanf("%d", &num1);
printf("请输入第二个整数: ");
scanf("%d", &num2);
printf("交换前:num1 = %d, num2 = %d\n", num1, num2);
swap(&num1, &num2); // 调用swap函数并传入地址
printf("交换后:num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
在这个程序里,`swap`函数接受两个整数的地址作为参数,通过它们的内存地址直接修改了原始的数值。
相关问题
在C语言输入两个整数,交换两个整数输出
在C语言中,我们可以使用一个临时变量来交换两个整数的值。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 定义函数用于交换两个整数
void swap(int* a, int* b) {
int temp = *a; // 存储第一个整数
*a = *b; // 将第二个整数赋给第一个
*b = temp; // 将存储的临时值赋给第二个
}
int main() {
int num1, num2;
printf("请输入两个整数: ");
scanf("%d %d", &num1, &num2); // 输入两个整数
// 调用swap函数交换num1和num2的值
swap(&num1, &num2);
printf("交换后的结果: num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
在这个程序中,`swap`函数接受两个整数指针作为参数,通过临时变量实现了两个变量的值交换。运行`main`函数后,用户可以输入两个整数,然后这两个数就会被交换并显示出来。
c语言输入两个数交换后输出
要实现C语言输入两个数并交换后输出,我们可以使用一个临时变量来实现交换的过程。
首先,我们需要定义两个整型变量a和b,并使用scanf函数分别输入这两个数。
然后,我们定义一个临时变量temp,并将a的值赋给temp。接下来,我们将b的值赋给a,相当于将b的值赋给temp。
最后,我们将temp的值赋给b。
最后,使用printf函数输出交换后的两个数,即可达到目的。
下面是一段实现以上步骤的C语言代码:
```c
#include<stdio.h>
int main() {
int a, b, temp;
printf("请输入两个整数:\n");
scanf("%d %d", &a, &b);
temp = a;
a = b;
b = temp;
printf("交换后的结果为:%d和%d\n", a, b);
return 0;
}
```
以上代码中,我们先输出一行提示文字,要求用户输入两个整数。然后使用scanf函数获取用户输入的两个数,并将它们分别赋值给a和b。
接下来,使用temp作为中间变量,将a的值暂存到temp中。然后将b的值赋给a,相当于进行了一次交换。最后将temp的值赋给b,交换完成。
最后,使用printf函数输出交换后的结果,即变量a和b的值。
阅读全文