Вы должны подумать, что означают ваши условия.Причина, по которой цикл не выполняется, упоминается другими.Давайте посмотрим на другое условие:
if (i != 6 || i != 12 || i != 18 || i != 24 || i != 30)
Когда вы думаете, что вышеприведенное условие будет ложным?Нам нужно рассмотреть два случая:
i
равно 6. Итак, i != 6
ложно, но любая другая часть условия (i != 12
и т. Д.) Верна,Это потому, что 6 равно только 6, и нет другого числа.Таким образом, общее условие истинно. i
не равно 6. Теперь i != 6
верно, и, следовательно, все условие истинно.
Итак, вашеif
условие, указанное выше, всегда выполняется.
Кроме того, подумайте о том, что произойдет, если вы зациклились до большого числа, скажем, 215. Хотите ли вы иметь условие, подобное:
if (i == 6 || i == 12 || ... || i == 210)
Конечно, должно быть лучше делать то, что ты хочешь.Я думаю, что вам нужно умножить base
на 2 и сбросить height
, когда i
делится на 6;в противном случае умножьте height
на 2. Структура кода:
/* not legal C */
if (i is divisible by 6) {
} else {
}
Чтобы проверить делимость на 6, помните, что для чисел n
и m
, n % m
дает остаток от n
делится на m
.