У меня есть этот цикл 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;
}
}
Выход следующим образом, иметь в виду, что в этом конкретном примере цикл должен иметь более одного свободного выхода на дне, потому что мой е связный список имеет 3 узлов, а мой т связанный список имеет 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