使用C++编写函数用数组或指针作为函数参数将一个字符串复制到另一个字符数组中在主函数中输出复制后的字符串
时间: 2024-02-18 21:59:53 浏览: 21
好的,这个问题很简单,下面是相应的代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
void copyString(char* dest, const char* src) {
while (*src != '\0') {
*dest++ = *src++;
}
*dest = '\0';
}
int main() {
char src[] = "Hello, world!";
char dest[20];
copyString(dest, src);
cout << dest << endl;
return 0;
}
```
上面的代码中,我们定义了一个 `copyString` 函数,它使用指针作为函数参数来复制一个字符串到另一个字符数组中。在主函数中,我们首先定义了一个源字符串 `src` 和一个目标字符数组 `dest`,然后调用 `copyString` 函数来复制 `src` 到 `dest` 中,并在控制台输出复制后的字符串 `dest`。
需要注意的是,在 `copyString` 函数中,我们使用了指针运算来遍历源字符串 `src` 和目标字符数组 `dest`。同时,在 `while` 循环中,我们使用了后置自增运算符 `++` 来移动指针的位置。最后,我们在 `dest` 数组的末尾添加了一个空字符 `'\0'`,以表示字符串的结束。
相关问题
使用指针作为参数,编写函数求字符串的长度。在主函数输入字符串并输出其长度
可以使用以下代码实现:
```c++
#include <iostream>
using namespace std;
int strlen(char* str) {
int len = ;
while (*str != '\') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
cout << "请输入字符串:";
cin >> str;
int len = strlen(str);
cout << "字符串长度为:" << len << endl;
return ;
}
```
在这个程序中,我们定义了一个 `strlen` 函数,它的参数是一个指向字符数组的指针。在函数内部,我们使用一个循环来遍历字符串,每遍历一个字符,就将长度加一。最后返回长度值。
在主函数中,我们先定义一个字符数组 `str`,然后使用 `cin` 输入字符串。接着调用 `strlen` 函数,将返回的长度值保存在变量 `len` 中,并输出结果。
注意,这里使用了 `cin` 来输入字符串,但是它只能读取到空格之前的内容。如果要读取整个字符串,可以使用 `getline` 函数。
使用指针作为参数,编写函数求字符串的长度。在主函数输入字符串并输出其长度。
好的,以下是使用指针作为参数,编写函数求字符串长度的示例:
```c++
#include <iostream>
using namespace std;
int string_length(const char* str) {
int length = 0;
while (*str != '\0') {
length++;
str++;
}
return length;
}
int main() {
const char* str = "Hello, world!";
int length = string_length(str);
cout << "Length of \"" << str << "\" is " << length << endl;
return 0;
}
```
这里定义了一个名为 `string_length` 的函数,它使用一个指向字符的指针 `str` 作为参数。在函数体内,通过遍历指针所指向的字符数组,逐个字符判断其是否为字符串结尾的空字符 `'\0'`,从而计算字符串的长度。最终将长度值返回给调用方。
在 `main` 函数中,我们定义一个指向字符串常量的指针 `str`,并将其作为参数传递给 `string_length` 函数。然后,将返回的字符串长度存储在整型变量 `length` 中,并输出到标准输出流中。
该程序的输出结果应该是:
```
Length of "Hello, world!" is 13
```