1

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

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)

可能是什么原因?

4

2 回答 2

1

您在“其他操作”中的代码很可能会修改全局变量routers,或者不太可能修改变量表。

祝你好运!

于 2013-11-03T04:51:42.823 回答
0

我不知道某些系统出了什么问题,但对我来说,我将“l < routers”部分更改为“l <= routers”,现在运行良好!它们都产生相同的结果!

string Message()
{
string result = "";
int l;

result += "1";
for(l = 0; l <= routers; l++)
{
    result += " " + table[l];

}
cout<<result<<endl;
return result;
}
于 2013-11-05T03:01:34.897 回答