#c #циклы
Почему недопустим такой вариант? int sum=0; for(int j=0; jОтветы
Ответ 1
Я думаю, оба варианта компилируются, только первый выдаёт предупреждение из-за того, что этот код содержит undefined behaviour. Переменную sum инициализировать за вас компилятор не будет. А использование неинициализировнной переменной есть даже не unspecified, а undefined behaviour. Это значит, что не только «начальное значение переменной может быть любым», но «при выполнении программы может произойти всё, что угодно, включая форматирование жёсткого диска». Окей, вопрос отредактирован, теперь обе переменные инициализированы, ищем дальше. Но я не заметил ещё одну ошибку. У вас написано for(int j=0; jОтвет 2
Насколько мне известно, в Си в принципе нельзя объявлять переменные внутри for. (внутри круглых скобочек). Как меня поправили в комментариях, это до стандарта С99. Стандарты С99 и выше ведут себя в данном случае, как в С++ int sum; int j; for(j=0; j
Комментариев нет:
Отправить комментарий