该程序无限输入

时间:2013-05-20 17:48:29

标签: c++ input

以下代码段是输入t(测试用例数)和学生数n[w]以及数字g[w]。然后它应该将学生的高度作为输入并将其存储在最大大小stuMAXV的数组100中。但是这个循环会永远持续下去。这可能是错的?

int t;
cin>>t;
std::vector<int> n(t);
std::vector<int> g(t);
int m =0;
int stu[MAXV];
for(int w=0;w<t;t++)
{
    cin>>n[w]>>g[w];
    for(int i=m;i<n[w] && i < MAXV;i++)
    {
        cin>>stu[i];
       ++m;
   }
} 

2 个答案:

答案 0 :(得分:2)

for(int w=0;w<t;t++)
{

} 

这是一个无限循环。一旦t大于w,它将总是更大。如果你希望它停止,则增加w而不是t。

更正:它不是无限的,在溢出后,它会停止。

答案 1 :(得分:2)

for(int w=0;w<t;t++) , really ?

我确定你的意思

for(int w=0;w<t;w++)

检查其他错误,但这就是编码无限循环的原因