Не работает While
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Программа должна высчитать сумму всех членов масива, но почему-то она выводит все время 0, через for программа работает, но мне нужно именно через while
Xangra@96, (1) так писать нельзя:
Согласно стандарту C++, при определении массива в квадратных скобках должно быть константное выражение. То, что gcc пропускает такие вещи, не значит, что это правильно!
Используй либо объявление массива достаточно большого размера (в разумных пределах) с проверкой выхода за границу, либо динамическое выделение памяти под массив.
(2) Ты используешь неинициализированную переменную
i
. И инкремент не там. Так работает:Спасибо, поняла свою ошибку.
а есть ли смысл объявлять переменную i в цикле for если мы ее в начале уже объявили?
int i;
...
for (int i = 0;...
Vangua, это разные переменные.
Переменная, объявляемая в цикле
for
, живёт только в теле цикла и экранирует одноименные переменные, существующие в охватывающих областях видимости.Другой вопрос, что разные переменные имеют одинаковое имя. Стилистически это нехорошо: вносит путаницу.