![img写一个方法,形参为指针,或指针数组,写一个包含3个名字的字符串数组,然后调用该方法输出该字符串数组里的三个名字(https://img-mid.csdnimg.cn/release/static/image/mid/ask/781676439286120.png "#left")
你的完整代码是什么,printle的定义要放在前面,或者在前面加上其函数原型的声明
而且你的代码和题意差的很多,你的数组不是3个元素,也没有通过键盘输入(你只cin了一次)
你可以这么写
#include <iostream>
#include <string>
void printNames(const std::string* names) {
for (int i = 0; i < 3; i++) {
std::cout << names[i] << std::endl;
}
}
int main() {
std::string names[3];
for (int i = 0; i < 3; i++) {
std::cout << "Enter name " << i+1 << ": ";
std::cin >> names[i];
}
printNames(names);
return 0;
}
我可以给出一个使用指针数组作为形参的函数,实现创建包含 3 个名字的字符串数组并输出这 3 个名字的方案。
#include<stdio.h>
void create_string_array(char** ppstr) // ppstr为指针数组
{
char* names[3] = {"Amy", "Bob", "Chris"}; // 创建一个包含 3 个名字的字符串数组
for(int i=0; i<3; i++)
{
ppstr[i] = names[i]; // 将字符串数组中的名字依次赋给指针数组中的每个指针
printf("%s\n", ppstr[i]); // 打印每个指针指向的字符串
}
}
int main()
{
char* str_array[3]; // 创建指针数组
create_string_array(str_array); // 调用函数,参数为指针数组的名字
return 0;
}
解释代码:我们首先在 main() 函数中创建了一个指针数组 str_array,它的长度为 3。然后我们调用 create_string_array() 函数,并将指针数组 str_array 的名字作为参数传入函数中。在函数内部,我们创建了一个包含