c++ 用for循环 用指针 将一个字符数组储存在另一个数组 若中间有空则暂停
时间: 2024-02-22 08:56:56 浏览: 56
C++中的关于指针的用法
可以使用 for 循环和指针来实现将一个字符数组储存在另一个数组,并在中间遇到空格时暂停。
下面是一个示例代码:
```c++
#include <iostream>
using namespace std;
int main()
{
char str1[] = "Hello world";
char str2[20];
char *p1 = str1;
char *p2 = str2;
for (; *p1 != '\0'; p1++, p2++)
{
if (*p1 == ' ')
{
break;
}
*p2 = *p1;
}
*p2 = '\0';
cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;
return 0;
}
```
这段代码中,我们首先定义了两个字符数组 `str1` 和 `str2`,其中 `str1` 是我们要复制的数组,`str2` 是我们要将 `str1` 复制到的数组。
然后我们定义了两个指针 `p1` 和 `p2` 分别指向 `str1` 和 `str2` 的首地址。
在 for 循环中,我们使用指针 `p1` 遍历 `str1` 数组,如果遇到空格则退出循环。在每次循环中,我们将 `p1` 指向的字符赋值给 `p2` 指向的字符,并让 `p1` 和 `p2` 指针向后移动一位。
最后,我们在 `str2` 数组的末尾添加一个空字符 `\0`,使其成为一个以空字符结束的字符串。
运行这段代码,输出结果如下:
```
str1: Hello world
str2: Hello
```
可以看到,我们成功地将 `str1` 数组中的第一个单词 `"Hello"` 复制到了 `str2` 数组中,并在遇到空格时停止了复制。
阅读全文