我正在尝试将 s1 中的所有字符更改为"x"。但是,当我运行代码时,编译器刚刚打印出"hello world"11次
I'm trying to change all character within s1 to 'x'. When I run the code, however, the compiler just printed out 'hello world' 11 times
我是C++新手。我正在尝试将 s1 中的所有字符更改为"x"。但是,当我运行代码时,编译器刚刚打印出"hello world"11次。为什么会这样?
int main(){
string s1 = "hello world";
for (auto &c : s1){
s1[c] = 'x';
cout << s1 << endl;
}
return 0;
}
在您使用的 for 循环中,c 实际上包含字符串 s1 的不同字符,而不是 s1 中每个元素的索引。
for (auto &c : s1)
要实际更改字符串的每个字符,请使用下面的 for 循环:
for (int c = 0; c < s1.size(); ++c)
相关文章:
- 我的代码运行良好,但在游戏循环中中断
- 通过窗口从C++代码运行 WSL 命令
- 如何使用 lldb 查找我的代码运行的位置
- 无法在 VS Code 上使用代码运行程序运行C++文件
- 我的代码运行良好,但现在当尝试将其制作成模板时,我遇到了许多看似无关的错误。这是怎么回事?
- Visual Studio代码运行环境
- 如何从C++代码运行自定义 GPU tensorflow::op?
- 在 ZeroMQ 中绑定订阅者套接字并连接发布者套接字会在代码运行时给出错误.为什么
- 代码运行缓慢
- .NET CORE 2 DLL引用带有C 代码运行时错误
- C++ 中控制台代码运行时的分段错误
- C++ 菜单代码 - 运行另一个类
- 以下代码运行后,如何在程序再次运行之前清除用户声明的变量 empName
- 当我使用此合并排序代码运行时,输出错误
- 有哪些优化技巧可以使我的代码运行得更快
- 使 C 代码能够作为C++代码运行
- 错误代码LNK1561阻止我的代码运行
- 如果我用代码块编译代码,为什么我的代码运行速度更快
- 更改Linux用户从C/C 代码运行时间
- 为什么这段代码运行这么慢