我有這while循環總是結束,如果其中一個情況是真的,而不是隻有結束,如果兩者都是真的。有沒有人有任何線索爲什麼?while循環與&&結束,如果其中任一個爲真,而不是如果兩者都爲真
while (f != NULL && t!= NULL)
{
if (f == NULL && t!= NULL)
{
cout << t->start_byte << " - "<< left<< setw(20) << t-> end_byte << t->id << endl;
t=t->next;
}
else if (t == NULL && f != NULL)
{
cout << f->start_byte << " - "<< left<< setw(21) << f-> end_byte << "FREE" << endl;
f=f->next;
}
else
{
cout << f->start_byte << " - "<< left<< setw(21) << f-> end_byte << "FREE" << endl;
cout << t->start_byte << " - "<< left<< setw(21) << t-> end_byte << t->id << endl;
cout<< " IM IN THE BOTH " << endl;
t=t->next;
f=f->next;
}
}
的輸出如下,請記住,在這個特殊的例子循環應該有一個更自由的輸出在底部,因爲我的F鏈接列表中有3個節點,和我的T鏈表有2
Memory Block Job
0 - 99 FREE
100 - 129 3
IM IN THE BOTH
130 - 149 FREE
150 - 179 2
IM IN THE BOTH
_「而不是隻在兩者都爲真時才結束」_你的意思是_if條件是false_? – Michael