用函数编写一个c语言程序不用指针,交换两个整形变量
时间: 2024-11-13 17:27:08 浏览: 4
当然可以,不需要使用指针,我们可以直接通过函数参数的传值来实现两个整数变量的交换。下面是一个简单的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`函数之后发生了交换。
相关问题
编写程序定义swap函数,利用指针实现两个变量值的交换
好的,以下是利用指针实现两个变量值交换的swap函数的示例代码(C语言):
```
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
这个函数的参数是两个int类型的指针变量a和b,函数体内利用一个temp变量暂存a指针所指的变量的值,然后将a指针所指的变量的值赋值为b指针所指的变量的值,再将b指针所指的变量的值赋值为temp变量的值,完成了两个变量值的交换。在调用该函数时,只需要将需要交换的两个变量的地址传递给函数即可。
阅读全文