字符串下标超出范围错误
string subscript out of range error
嘿,我对这段代码有问题。我已经阅读了一些关于它的问题,但我在我的代码中找不到问题。如果可以的话,帮帮我。
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
cout << "You have 20 attempts";
string slowo="program";
char litera;
unsigned j=0;
for(int i=0;i<20;i++)
{
if (j > slowo.size())j=0;
litera = _getch();
for(unsigned z=0;z < slowo.size();z++)
{
if (litera==slowo[j])
{
cout << slowo[j];
break;
}
else cout << "-";
}
//cout << litera;
j++;
}getch();
}
当我没有数组时,我忘记了字符串的那个小东西。
您正在读取slowo
中的索引slowo.size()
,但将其下标为从0开始,因此slowo
只能从0
索引到slowo.size()-1
。您需要将状况更改为
if (j >= slowo.size())j=0;
当字符串的长度为 4 时,表示索引 0、1、2、3 上有字符,即 size() - 1
.因此:
if (j > slowo.size()) j=0;
应该是:
if (j >= slowo.size()) j=0;
相关文章:
- "myClock"未在此范围错误中声明
- 包含来自另一个文件的函数会导致范围错误(openFoam)
- Visual C:命名空间范围错误或晦涩功能?
- 在遍历字符串时,为什么我没有超出范围错误,即使我已经超出了它的长度?
- 此范围错误中未声明如何修复
- 尝试声明函数的局部变量,但得到范围错误
- c ++ to_string未在此范围错误 [Windows + Devcpp 环境] 中声明
- 将文件读取到向量的向量,超出范围错误
- 向量下标出的范围错误.即使向量的索引大于访问数据的索引,也会发生误差
- Eratosthenes C 的筛子 - 内存处的范围错误
- 向量:内存处的范围错误
- 测试完美哈希函数时超出范围错误
- 为什么此代码会给出 Vector 超出范围错误
- 在填充 Arduino 草图时出现范围错误
- 如何修复C++中矢量的"下标超出范围"错误?
- CPP-模板范围错误
- 在此范围错误中未声明函数错误
- C 表达式:向量下标出范围错误线:1733
- 无法在好友函数中实例化类?我没有得到在范围错误中声明
- 带有类的嵌套结构.范围错误