0

次のコード セグメントは、入力t(テスト ケースの数) と生徒数、および数値をn[w]受け取りますg[w]。入力として学生の身長を入力し、stu最大サイズの配列に格納する必要があります。しかし、このループMAXV100永遠に続きます。これで何が間違っている可能性がありますか?

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;
   }
} 
4

2 に答える 2

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

} 

これは無限ループです。t が w より大きくなると、常に大きくなります。停止したい場合は、t の代わりに w をインクリメントします。

訂正: 無限ではありません。オーバーフロー後、停止します。

于 2013-05-20T17:52:10.983 に答える
2
for(int w=0;w<t;t++) , really ?

私はあなたが意味したと確信しています

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

他のエラーもチェックしますが、これが無限ループをコーディングした理由です

于 2013-05-20T17:53:05.807 に答える