0

編集:元の問題が修正されました。

新しい問題: while ループが for またはステートメントで壊れない:

while(m->next != NULL || m->val != n)
{ 
    cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
    m = m->next;
}    

まったく同じ 2 つを含め、すべての比較が出力されます。これが壊れない理由はありますか?

4

1 に答える 1

1

m = NULLは代入ステートメント、m == NULLはステートメントで使用される比較ステートメントですif

注:均一な印刷に使用する前に、チェックmを行う必要があります ( で)NULLcout

最後の要素まで、または val が n に等しくなるまで while ループを続けたい場合は、次のようにする必要があります。

while(m != NULL && m->val != n)
{ 
    cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
    m = m->next;
} 
于 2013-05-14T05:08:41.177 に答える