c语言函数swap(),实现2个整数之间的交换,在主函数中调用该函数
时间: 2024-03-18 12:41:19 浏览: 100
好的,以下是用普通变量法编写的`swap()`函数的代码:
```c
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
printf("In swap function: a = %d, b = %d\n", a, b);
}
```
在主函数中调用该函数的代码如下:
```c
int main()
{
int x = 5, y = 10;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(x, y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
```
在这个示例中,我们定义了两个整数`x`和`y`,然后将它们作为参数传递给`swap()`函数。`swap()`函数使用普通变量法交换了`x`和`y`的值,并打印出了交换后的值。然而,在主函数中我们发现`x`和`y`的值并没有交换,这是因为在函数中我们只是交换了本地变量,而没有真正改变`x`和`y`的值。因此,我们需要使用指针或者引用来实现交换。
相关问题
c语言用指针法编写子函数swap(),实现2个整数之间的交换,在主函数中调用该函数。
好的,我知道你的问题了。以下是用指针法编写的`swap()`函数的代码:
```c
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
```
在主函数中调用该函数的代码如下:
```c
int main()
{
int x = 5, y = 10;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
```
在这个示例中,我们定义了两个整数`x`和`y`,然后将它们的地址传递给`swap()`函数。`swap()`函数使用指针法交换了`x`和`y`的值,然后我们在主函数中打印出了交换后的值。
c语言用函数swap实现交换两个整数,主函数产生10个元素的整数数组a,调用swap函数实现a[i]与a9-i的互换
下面是实现代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int i = 0; i < 5; i++) {
swap(&a[i], &a[9-i]);
}
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
解释一下代码:
首先定义了一个 `swap` 函数,用来交换两个整数的值。函数的参数是两个指向整数的指针,通过指针来交换两个整数的值。
然后在主函数中定义了一个长度为 10 的整数数组 `a`,并初始化了数组的值。
接着,使用一个 for 循环遍历数组的前半部分(前五个元素),并调用 `swap` 函数,将 `a[i]` 和 `a[9-i]` 的值进行交换。
最后,再使用一个 for 循环遍历整个数组,打印出交换后的数组的值。
阅读全文