編集:元の問題が修正されました。
新しい問題: while ループが for またはステートメントで壊れない:
while(m->next != NULL || m->val != n)
{
cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
m = m->next;
}
まったく同じ 2 つを含め、すべての比較が出力されます。これが壊れない理由はありますか?
編集:元の問題が修正されました。
新しい問題: while ループが for またはステートメントで壊れない:
while(m->next != NULL || m->val != n)
{
cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
m = m->next;
}
まったく同じ 2 つを含め、すべての比較が出力されます。これが壊れない理由はありますか?
m = NULL
は代入ステートメント、m == NULL
はステートメントで使用される比較ステートメントですif
。
注:均一な印刷に使用する前に、チェックm
を行う必要があります ( で)NULL
cout
最後の要素まで、または val が n に等しくなるまで while ループを続けたい場合は、次のようにする必要があります。
while(m != NULL && m->val != n)
{
cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
m = m->next;
}