2013-05-14 44 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