2016-02-01 3 views
0
int i; 
    for (i = 0; i < 10; i++) { 
     if (i < 5) continue; 
     if (i > 7) break; 
     cout << "aaaa" << endl; 
    } 

Вопрос в том, сколько отпечатков будет. Итак, правильный ответ - 3, но я не понимаю, почему, может кто-нибудь объяснить? Я знаю, что такое цикл цикла и как он работает, но продолжить и разбить часть. Я не понимаю.Назначение школы для петли

+0

Вам нужно понять, что 'continue',' break' и '>' и '<' meann. Шаг через петлю с карандашом и бумагой. –

+0

http://www.tutorialspoint.com/cplusplus/cpp_break_statement.htm http://www.tutorialspoint.com/cplusplus/cpp_continue_statement.htm – jonhopkins

ответ

0

Только когда i 5, 6 и 7 достигнут cout. Для 0-4 цикл «продолжается» - возвращается к его циклу «i ++» и тестирует. Когда это 8, цикл прерывается - finito.

+0

поэтому цикл пропускает первые 4 круга, и он не печатает, тогда, когда i 5 6 7 он печатает, потому что я должен быть больше 7, чтобы разбить цикл? Я хорошо понял? – honeyPot

+0

да действительно, вот и все –

0

Продолжение ключевого слова прерывает итерацию цикла и перемещается на следующую итерацию. И сломать ключевое слово, выводит вас из цикла. Так будет идти, как следующее:

, когда я буду 0, то цикл будет идти снова , когда я буду 1, то цикл будет идти снова , когда я буду 2, то цикл будет идти снова , когда я буду 3 затем цикл будет идти снова , когда я буду 4, то цикл будет идти снова

, когда я буду 5, то «АААА» , когда я буду 6, то «АААА» , когда я буду 7, то «АААА»

, когда мне будет 8, тогда контур закончится

0

До i=5 состояние i<5 выполнено, и continue будет выполнен, который перейдет на следующую итерацию.

Затем для i=5, i=6 ,i=7 будет выполнена ваша заявка cout. Когда он достигает i=8, условие прерывания выполняется, и он покидает цикл.

Просто break выйдет из цикла, continue перейдет на следующую итерацию.

Смежные вопросы