我正在学习C ++,为了练习,我正在做一个四功能计算器。我正在尝试(出于实践原因)使自己的函数从字符串中删除所有空格。该函数可以编译,但是执行该函数时程序会崩溃。谁能告诉我这是怎么回事?
功能:
int operate(std::string inRaw) {
// Parsing
int j = 0;
int inMinLen;
int inLen = inRaw.length();
std::string inSub, in[inLen];
for(int i = 0; i < inLen; i++) {
inSub = inRaw.substr(i, 1);
while(inSub != " ") {
in[j] = inSub;
j++;
}
inMinLen = j+1;
}
std::string inMin[inMinLen];
for(int k = 0; k < inMinLen; k++) {
inMin[k] = in[k];
std::cout << in[k]; // DEBUG
}
}
最佳答案
这个while循环:
while(inSub != " ") {
永远不会完成,因为您永远不会在循环内更改
insub
的值。