Цикл работает в большинстве пять раз и каждый раз через петлю, он копирует b[i]
к a[i]
(а). Если эта копия привела к тому, что нуль помещается в a[i]
, условие оператора if
будет истинным, и цикл разобьется. Это потому, что результатом выражения x = y
является окончательное значение x
.
В вашем случае (a[i] = b[i])
будет нулевым или отличным от нуля в зависимости от b[i]
. Если первый, !
превращает это в истинное значение, а тело if
работает (происходит break
). Если последнее, вы получаете false из !
, и цикл продолжает работать.
Этот разрыв происходит с четвертым элементом, поэтому вы видите только три выходные линии.
(а) Вы должны знать, что это справедливо, так как размер b
неявно пять (вы явно не установить размер, но он инициализируется с пятью элементами). Размер a
также пять, потому что вы указали свой размер с a[5]
, несмотря на то, что вы только явно инициализировали первый элемент до 1
(остальные неявно инициализируются до нуля).
Когда 'b [i]' равно 0, тогда 'a [i] = b [i] 'также равно 0, а'! 0' истинно, поэтому тело оператора if выполняется. – immibis
Какую часть вы не понимаете? –
Я не понимаю, как я получаю вывод? – david98