一句话理解
遍历字符串就是按下标访问每一个字符。
为什么要学
统计字母、判断回文、逐位处理,都要走一遍。
讲解
for (int i = 0; i < (int)s.size(); i++) 用 s[i]。
也可以 for (char c : s),但需要下标时还是用 i。
修改字符:s[i] = toupper(s[i]);。
例子
string s = "ab";
for (int i = 0; i < (int)s.size(); i++)
cout << s[i] << "\n";
输出:
a
b
先打印 a 换行,再打印 b 换行。
常见错误
- 用
i <= s.size()。 - 在遍历时随便
s += s导致无限变长。