用C语言编写程序,a=1,b=2,用函数交换a,b的值
时间: 2023-11-06 21:06:56 浏览: 121
可以使用如下的 C 语言程序来交换变量 a 和 b 的值:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a = 1, b = 2;
printf("Before swapping: a = %d, b = %d\n", a, b);
swap(&a, &b);
printf("After swapping: a = %d, b = %d\n", a, b);
return 0;
}
```
程序中的 `swap` 函数通过指针来交换变量的值。函数接受两个 int 类型指针 `a` 和 `b` 作为参数,然后交换它们所指向的值。在主函数中,我们声明变量 `a` 和 `b` 并将它们分别初始化为 1 和 2。然后,我们使用 `swap` 函数来交换它们的值。最后,我们输出交换后的变量值,以检查交换是否成功。
相关问题
使用c语言编写,题目描述 输入a和b两个整数,按先大后小的顺序输出a和b。 要求不交换整型变量的值,而是交换两个指针变量的值(即a和b的地址) 要求不能用函数实现。 输入 a=a的值,b=b的值 输出 max=a和b的较大值,min=a和b的较小值,输入样例1 :a=5,b=9 输出样例1:max=9,min=5
好的,下面是使用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int a, b, *pa, *pb, tmp;
scanf("a=%d,b=%d", &a, &b);
pa = &a;
pb = &b;
if (*pa < *pb) {
tmp = *pa;
*pa = *pb;
*pb = tmp;
}
printf("max=%d,min=%d", *pa, *pb);
return 0;
}
```
首先,在输入 a 和 b 的值后,我们定义两个指针变量 pa 和 pb 分别指向 a 和 b 的地址。然后,我们通过比较 a 和 b 的大小,将较大的值赋给指针变量 pa,较小的值赋给指针变量 pb。最后,我们通过一个临时变量 tmp,交换指针变量所指向的地址中存储的值。最后,输出指针变量所指向的值,即 a 和 b 的值。
c语言编写函数交换数组a与b
你可以使用以下程序来实现:
```c
void swapArray(int *a, int *b, int size) {
int temp;
for(int i=0; i<size; i++){
temp = a[i];
a[i] = b[i];
b[i] = temp;
}
}
```
其中,`a`和`b`分别为要交换的两个数组的指针,`size`为数组的大小。该函数使用一个循环来遍历两个数组,并通过一个中间变量`temp`来交换数组中的元素。
阅读全文