用函数编写一个c语言程序不用指针,交换两个整形变量
时间: 2024-11-13 18:27:08 浏览: 27
当然可以,不需要使用指针,我们可以直接通过函数参数的传值来实现两个整数变量的交换。下面是一个简单的C语言程序示例:
```c
#include <stdio.h>
// 函数声明,接收两个整数作为参数,并返回无
void swap(int a, int b);
int main() {
int num1 = 5;
int num2 = 10;
printf("Before swapping:\nnum1 = %d\nnum2 = %d\n", num1, num2);
// 调用swap函数,传递num1和num2的值
swap(num1, num2);
printf("After swapping:\nnum1 = %d\nnum2 = %d\n", num1, num2);
return 0;
}
// 函数实现:接受两个整数a和b,通过第三个临时变量完成交换
void swap(int a, int b) {
int temp = a; // 将a的值保存到temp
a = b; // 更新a的值为b的值
b = temp; // 更新b的值为原来的a(temp)
}
```
在这个例子中,我们创建了一个名为`swap`的函数,它不依赖于指针,而是通过临时变量间接实现了两个整数的交换。当你运行这个程序时,你会看到`num1`和`num2`的值在调用`swap`函数之后发生了交换。
相关问题
用函数编写一个c语言程序,交换两个整形变量
在C语言中,你可以创建一个名为`swap`的函数来交换两个整型变量的值。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义一个函数用于交换两个整数
void swap(int* a, int* b) {
int temp = *a; // 创建一个临时变量存储a的值
*a = *b; // 将b的值赋给a
*b = temp; // 将临时变量的值赋给b
}
int main() {
int num1 = 5;
int num2 = 10;
printf("Before swapping: num1 = %d, num2 = %d\n", num1, num2);
// 调用swap函数并传入地址
swap(&num1, &num2);
printf("After swapping: num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
在这个例子中,我们首先声明了一个`swap`函数,它接受两个整型指针作为输入参数。然后在函数内部通过临时变量实现了变量值的交换。在`main`函数中,我们声明了两个整数变量`num1`和`num2`,然后调用`swap`函数来交换它们的值。
编写一个c语言程序,使用指针交换两个浮点数的值。
在C语言中,你可以通过指针来交换两个浮点数(float类型的变量)的值。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明,接受两个指针作为参数
void swap(float *a, float *b) {
float temp; // 临时存储其中一个数
temp = *a; // 将第一个数复制到temp
*a = *b; // 将第二个数赋给第一个数
*b = temp; // 将temp的值赋给第二个数
}
int main() {
float num1 = 3.5;
float num2 = 2.0;
printf("Before swapping: num1 = %.1f, num2 = %.1f\n", num1, num2);
// 使用指针传递并交换num1和num2的值
float *p1 = &num1;
float *p2 = &num2;
swap(p1, p2);
printf("After swapping: num1 = %.1f, num2 = %.1f\n", num1, num2);
return 0;
}
```
在这个例子中,`swap`函数接受两个浮点型指针,然后通过解引用操作符`*`间接访问并交换它们所指向的数值。在`main`函数中,我们创建了两个变量`num1`和`num2`,并将它们的地址传递给`swap`函数。
运行这个程序,你会看到两个数字的值已经被成功交换了。
阅读全文