0

编辑:原始问题已修复。

新问题:While 循环不会中断 for or 语句:

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

它打印出所有的比较,包括完全相似的两个。为什么这不会破坏它?

4

1 回答 1

1

m = NULL是赋值语句,m == NULL是要在你的语句中使用的比较if语句

注意:在使用它进行均匀打印之前应进行检查mNULLcout

如果你想继续while循环直到最后一个元素或直到val等于n,那么它应该是这样的

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 回答