编辑:修复原始问题。
新问题:虽然循环没有中断或声明:
while(m->next != NULL || m->val != n)
{
cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
m = m->next;
}
它打印出所有比较,包括两个完全相同的比较。有什么理由不打破它?
答案 0 :(得分:1)
m = NULL
是赋值语句,m == NULL
是要在if
语句中使用的比较语句
注意:
检查m
NULL
之前应该先进行cout
如果你想继续while循环直到最后一个元素或者直到val等于n,那么它应该是这样的
while(m != NULL && m->val != n)
{
cout<<"Looking for main node. Comparing"<<n<<" to "<<m->val<<endl;
m = m->next;
}