This was my code without using else if:
Ninja Classic is an anime based game. Choose the ninja type and combat style of your character and fight against real enemies. The fate of your hero depends only on your skills.
This is the code using else if:
For a reason, not using the else if doesn't work. What is the reason? I know that using if does it one by one while using else if stops at the first statement that is true. This has a difference in performance. Anyhow not using else if in this particular (if not other) while loop doesn't seem to work.
Thanks.
3 answers
Потому что вы забыли брекеты по всему while
, так что петли только через первое if
заявление, а затем выходит из цикла и оценивает другие два if
заявления.
Кроме того , почему вы не используете switch
заявление?
От стандартного (только выбраны соответствующие части правил грамматики)
Вы пишете итерационное заявление - которое состоит из while(expression)
и одного оператора. Это утверждение в вашем случае выбор заявление - теперь это проверить. Если вы не используете else if
или else
не один оператор - а это множественное заявление со всеми , кроме одного в заявлении в то время, остальные находятся за его пределами.
Ваш код в основном означает, что это
Why Is My Game Pigeon Not Working Crazy 8
Положив скобки в блоках и отступов заставит вас воздержаться от такого рода ошибок.
Why Will My Game Pigeon Not Work
Правильно отступ, ваша первая программа выглядит следующим образом:
Why Is My Game Pigeon Cup Pong Not Working
Тело while
цикла представляет собой один оператор.
Why Does My Game Pigeon Not Working
if ... else if ... else if ... else
все образует одно большое заявление. Разделяя ваши условия в нескольких операторов ( if
, if
, if
), вы переместили все , кроме первого из цикла.
Чтобы избежать этой проблемы, всегда использовать составной оператор (т.е. блок: {
... }
) как тело while
или if
заявления.
Why Isn't My Game Pigeon Not Working
Кстати, main()
не было действительным C с 1999 года должно быть int main(void)
.