很高兴终于成为这个社区的一员!我猜这个问题是个愚蠢的问题,并回答了类似的问题;我检查过他们,但他们都没有帮助我。我找不到错误,我无法解决它,因为我不理解它。我在高中和C ++初学者。今天,我们进行了C ++竞赛,由于这个错误,整个任务得到0。 该任务的第一部分是输入n string a(不含空格)然后生成字符串n1。 N1成员都是来自n的字符,其ASCII值介于100-110之间。 我就这样做了:
#include<iostream>
#include<string>
using namespace std;
int main(){
string n;
string n1;
cin >> n;
int l;
//here i get the length of n to use in for
l=n.length();
//i change all chars to . so i can do an output more easily later
for(int i=0;i<l;i++){
n1[i]='.';
}
int a;
for(int i=0; i<l ;i++){
//ascii of n[i]
a=n[i];
if(a>99 && a<111){
n1[i]=n[i];
}
}
for(int i=0;i<l;i++){
if(n1[i]!='.'){
cout << n1[i] << endl;
}
}
return 0;
}
我们在Visual Studio中工作,它崩溃并展示了一些我真正不理解的东西......一些关于某些限制的东西。我不在VS工作,我正在运行Linux所以我在codeblocks工作,我认为问题出在VS.我检查了我的家用电脑,它向我显示了这个错误。 当字符串长度低于25时,一切正常。
这个错误究竟是什么(或者警告)以及如何修复它。我发现某个地方可以在ide中禁用它,但我想这只是一种避免问题的方法。