C++ 为什么此函数不返回或打印任何内容?

C++ 为什么此函数不返回或打印任何内容?,c++,C++,“R3+2-1R2+1-1R2+0-2”是我的输入,我试图计算字符串输入中阳性测试的总数(正负号后的值)。我认为函数可能正在进入一个无限循环,但我不确定为什么 int posiTests(字符串结果) { //串联器 字符串结果; 对于(size_t i=0;i!=results.size();i++) { 如果(结果[i]!='') { 结果C+=结果[i]; } } //阳性试验R3+2-1R2+1-1R2+0-2 int j=1; 字符串测试; 而(j这里我对内部循环进行了一些修改,以确保

“R3+2-1R2+1-1R2+0-2”是我的输入,我试图计算字符串输入中阳性测试的总数(正负号后的值)。我认为函数可能正在进入一个无限循环,但我不确定为什么

int posiTests(字符串结果)
{
//串联器
字符串结果;
对于(size_t i=0;i!=results.size();i++)
{
如果(结果[i]!='')
{
结果C+=结果[i];
}
}
//阳性试验R3+2-1R2+1-1R2+0-2
int j=1;
字符串测试;

而(j这里我对内部循环进行了一些修改,以确保
j
正确递增

    for (size_t j = 0; j < resultsc.size(); ++j)
    {
        if (resultsc[j] != '+')
        {
            continue;
        }

        while (j < resultsc.size() && resultsc[j] != '-')
        {
            if (isdigit(resultsc[j]))
            {
                postests += resultsc[j];
            }
            j++;
        }
    }
for(size_t j=0;j
对于给定的示例,这将打印“210”。如果您希望使用“3”(2+1+0),则需要在while循环完成时调用
stoi(postests)

while(resultsc[j]!='-')
可能是一个无限循环,因为
j
isdigit(resultsc[j])
为true时不会更新。未来的bug:
while