【发布时间】:2020-12-10 12:07:15
【问题描述】:
我正在尝试使用下面的代码将字符串str[] 的元素分配给rev[],但它一直给我错误:
“字符串下标超出范围”错误。
我该如何纠正这个问题?
for (int i = 0; i <= str.length(); i++)
{
for (int j = str.length(); j >= 0; j--)
{
rev[i] = str[j];
}
}
【问题讨论】:
-
您确定需要嵌套
for循环来反转字符串吗?想想str.length() - j给了你什么。此外,您应该使用您正在使用的编程语言标记您的问题。 -
我会记住标记语言。我真的不明白你的意思 str.length() - j
-
内部 j 循环的第一次迭代执行此:
str[str.length()],超出范围。 -
只需使用
str.length() - 1开始您的循环。