我正在学习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的值。

09-05 06:02