2013-05-14 43 views
0

編輯:原始問題已修復。製作鄰接表,奇怪的錯誤?

新的問題:While循環不打破或聲明:

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

它打印出所有的比較,其中包括兩塊是完全一樣的。任何理由爲什麼這不會打破它?

回答

1

m = NULL是賦值語句,m == NULL是比較報表在if語句中使用

注: 檢查mNULL應該使用它,即使在打印前進行(在cout

如果你想繼續while循環直到最後一個元素或者直到val等於n,那麼它應該是這樣的

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

謝謝!你能幫我解決另一個問題嗎? – user2313755 2013-05-14 05:22:52

+0

當然。更新您的問題或發佈新的問題 – 999k 2013-05-14 05:24:49

+0

不|| =或和&& =和? – user2313755 2013-05-14 05:30:07