如何更改函数中函数的输入索引值?



我该如何做才能将函数输入数组的所有索引都转换为字符"?我知道应该使用这个数组的地址,但我不知道功能:

void something (char s1[]) {
for (int i = 0; i < strlen (s1); i++) {
cout<<i;
s1[i] = '?';
}
}
int main() {
something ("The String!");
getch();
}

我认为您真正想要的是将输入字符串的每个字符转换为"?"。代码的主要问题是" String!"类型为char*,并且存储在内存的代码段中,因此不能修改其字符。但是,您可以将其定义为数组。

void something (char s1[]) {
for (int i = 0; i < strlen (s1); i++) {
cout<<i;
s1[i] = '?';
}
}
int main() {
char input[] = "The String!";
something (input);
getch();
return 0; // do not forget to return value from your function.
}

一般来说,我建议不要使用C风格的字符串,而是使用c++风格的std::string(您可以通过引用将其传递给函数以省略复制)。

最新更新