返回的字符串和提取的字符串不匹配

Returned string and fetched string do not match

本文关键字:字符串 不匹配 提取 返回      更新时间:2023-10-16

我定义了以下函数来对字符串执行一些操作并返回结果:

string Message()
{
string result = "";
int l;
    result += "1";
    for(l = 0; l < routers; l++)
    {
        result += " " + table[l];
    }
    cout<<result<<endl;
return result;
}

但是,当我在 while 循环中获取(如果我可以将其命名为 fetch)返回的结果并将其打印出来时,它们并不相同!!

while(true)
{    
string a = Message();
cout<<a<<endl;
//do some operation
}

结果:

1 12 13 15 21 1 (printed out before exiting the function)
1 12 13 15 21 (after fetching)

可能是什么原因?

很可能您在"其他操作"中的代码修改了全局变量routers,或者不太可能修改变量 Table。

祝你好运!

我不知道

某些系统出了什么问题,但对我来说,我将"l <路由器"部分更改为"l><= 路由器",现在运行良好!它们都产生相同的结果!

string Message()
{
string result = "";
int l;
result += "1";
for(l = 0; l <= routers; l++)
{
    result += " " + table[l];
}
cout<<result<<endl;
return result;
}