void swap(char* pa, char* pb) //两字符交换 { //************Begin*********** char ch; ch = *pa; //ch值 赋值 为pa指针指向数据 对应i的数据 即原str[n] *pa = *pb;//pa指针指向数据 即i的数据 赋值 为j内数据 i数据变为原str[n-1] *pb = ch; //pb指针指向数据 即j的数据 赋值 改为ch内的数据 j变为原str[n] //此时*pa和*pb对应变量i和j的数据 变为原来j和i 实质交换内容 //************End*********** }
时间: 2023-07-05 17:27:58 浏览: 177
这是一个用于交换两个字符指针所指向的字符值的函数。函数定义如下:
```c
void swap(char* pa, char* pb) {
char ch;
ch = *pa;
*pa = *pb;
*pb = ch;
}
```
在函数内部,使用一个中间变量 `ch` 来存储第一个字符指针 `pa` 所指向的字符值,然后将 `pa` 所指向的字符值替换为第二个字符指针 `pb` 所指向的字符值,最后将 `pb` 所指向的字符值替换为 `ch`,即完成了两个字符值的交换。
使用该函数时,只需要将需要交换的两个字符指针作为参数传递进去:
```c
char a = 'a', b = 'b';
swap(&a, &b);
```
这将交换 `a` 和 `b` 的值,使得 `a` 的值变为 'b',`b` 的值变为 'a'。
相关问题
swap(char * ,char *)
这是一个交换两个字符数组的函数,代码如下:
```c++
void swap(char* a, char* b)
{
char temp = *a;
*a = *b;
*b = temp;
}
```
可以将两个字符数组的地址传入函数中,函数内部会将两个数组的内容进行交换。使用方法如下:
```c++
char str1[] = "hello";
char str2[] = "world";
swap(str1, str2);
cout << str1 << " " << str2 << endl; // 输出 world hello
```
void swap(char **str1,char **str2)
这是一个C语言程序,其中定义了一个名为swap的函数,函数的参数是两个指向字符指针的指针。函数的作用是交换这两个指针所指向的字符串。具体实现如下:
```c
void swap(char **str1,char **str2) {
char **tmp = str1;
*str1 = *str2;
*str2 = *tmp;
}
```
在main函数中,定义了两个字符串指针str1和str2,并分别指向"hello word"和"word hello"这两个字符串。然后调用swap函数,将这两个指针所指向的字符串进行了交换。最后输出交换后的结果。