使用引用完成交换字符数组的c++程序
时间: 2024-05-09 08:20:39 浏览: 52
以下是使用引用完成交换字符数组的c程序:
```
#include <stdio.h>
#include <string.h>
void swap(char *str1, char *str2, int len) {
char temp[len];
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
int len = strlen(str1) + 1;
printf("Before swap: str1=%s, str2=%s\n", str1, str2);
swap(str1, str2, len);
printf("After swap: str1=%s, str2=%s\n", str1, str2);
return 0;
}
```
在上面的程序中,swap函数接受两个字符数组的指针以及数组的长度作为参数。使用strcpy函数将一个数组的内容复制到另一个数组中,完成交换操作。主函数中先打印出交换前的两个数组,然后调用swap函数交换两个数组后再打印出交换后的结果。
相关问题
用引用传递写一个字符数组交换的c++程序
以下是一个利用引用传递实现字符数组交换的C程序:
```c
#include <stdio.h>
#include <string.h>
void swap(char **str1, char **str2) {
char *temp = *str1;
*str1 = *str2;
*str2 = temp;
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
printf("Before swap: str1 = %s, str2 = %s\n", str1, str2);
swap(&str1, &str2);
printf("After swap: str1 = %s, str2 = %s\n", str1, str2);
return 0;
}
```
该程序中,我们使用了一个`swap()`函数来交换两个字符数组。该函数使用指向指针的指针来接受字符数组的地址,从而可以直接修改原始数据。在`main()`函数中,我们定义了两个字符数组`str1`和`str2`,然后将它们的地址传递给`swap()`函数进行交换。最后,我们输出交换后的结果。
C++定义一个字符数组并初始化为"hello world!",编写程序逆序输出此字符数组。 字符数组中的数据前后交换,逆序放置。定义指针
来操作数组元素,具体实现代码如下:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "hello world!";
int len = strlen(str);
char* p = str;
char temp;
// 逆序交换字符
for (int i = 0; i < len / 2; i++) {
temp = *(p + i);
*(p + i) = *(p + len - i - 1);
*(p + len - i - 1) = temp;
}
printf("逆序输出字符数组: %s\n", str);
return 0;
}
```
阅读全文