我不知道为什么调试断言在我的程序上失败的答案
I don't get the answer for why debug assertion failed on my program
我在编码社区中非常新。这是我的第一年,从未被告知关于调试断言错误。我已经尝试搜索几种解决方案,但我似乎无法将它们与我的代码联系起来,但我没有找到答案。
我很想就"调试断言失败"获得一些帮助。表达式:字符串下标出超出范围。
#include <iostream>
#include <string>
using namespace std;
//Declaring variables and arrays
int no_of_subs;
int main ()
{
cout << " Please enter the number of subjects n n ";
cin >> no_of_subs;
// Local Variable
string grade;
for (int i=1; i <= no_of_subs; i++)
for (int counterSubs = 0; counterSubs < no_of_subs; counterSubs++)
{
cout << " Please enter the grade obtained for each subject n n "
<< i++ << " : ";
cin >> grade [counterSubs];
}
system ("PAUSE");
return 0;
}
我的代码是关于GPA的。我想制作一个阵列,以存储学生为每个学科获得的成绩。我期望输出如下:
"请输入每个主题的等级
1:用户输入等级2:
此程序有很多错误。您似乎正在尝试从一个而不是0开始索引索引。此外,您似乎正在尝试将成绩读为一个空字符串,并将此空字符串的不存在元素设置为正在阅读的成绩。此外,您是在您的for
语句中以及在您的成绩中阅读时,递增i
,我认为这不是您想要的。
我认为您在这里有一些非常根本的误解。我还怀疑您正在尝试做作业,所以我将其留给您的TAS和您自己纠正这些作业。
您遇到的调试断言错误是我认为您的实现正在做的事情。通常,这个程序会崩溃。但是,由于您正在尝试访问字符串的不存在元素,因此您的实现可能会有一些有用的代码,而不是崩溃。因此,这不是C 的标准部分,也不是可以指望发生的事情。我很惊讶您的实施正在这样做。
相关文章:
- 链接阶段在Ubuntu上失败,但在MacOS上失败
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- libprotobuf 检查在 Mac OS 上执行程序时失败
- G++10 的功能测试在 __cpp_lib_span 上失败
- 生成文件:6:目标'all'的配方在 Ubuntu-16.04 上失败
- cout 在我的程序上无法正常工作,有人可以帮助我吗?
- 视窗 10 :笔(手写笔)在 MFC 应用程序上不起作用
- c++程序上的奇怪编译错误
- 构建 C++ Allegro 5 在 Linux Mint QT 上失败
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- ostream_iterator运算符=在pair<int,int>上失败,但在包装器类上工作。我不能为成对<>重载运算符<<吗?
- 作为模板参数的成员函数指针在继承的成员函数上失败,如何以及为什么?
- 在C++程序上同时运行的不同任务
- 我不知道为什么调试断言在我的程序上失败的答案
- 在C++程序上使用mpicc链接失败
- 在简单的c++程序上运行失败
- 使Qt应用程序在Fedora 20上失败:/usr/bin/ld:找不到-lGL
- 运行时检查失败 #2 - mfc 应用程序上变量"osvi"周围的堆栈已损坏
- c++程序在命令行上工作,但在Xcode上失败
- 在Windows 7上监视屏幕保护程序活动失败