我已经定义了以下函数来对字符串执行一些操作并返回结果:
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)
可能是什么原因?
答案 0 :(得分:1)
“其他操作”中的代码很可能会修改全局变量routers
,或者不太可能修改变量表。
答案 1 :(得分:0)
我不知道某些系统出了什么问题,但对我来说,我将“l&lt; routers”部分更改为“l&lt; = router”,现在它运行良好!它们都产生相同的结果!
string Message()
{
string result = "";
int l;
result += "1";
for(l = 0; l <= routers; l++)
{
result += " " + table[l];
}
cout<<result<<endl;
return result;
}