@AfterKlugge
Программист, стартапер

Как объяснить логику работы цикла while в C#?

private void button4_Click(object sender, EventArgs e)
        {
            int result = 0; // Создаем переменную result и присваиваем ей значение 0
            int x = 6; // Создаем числовую переменную x и присваиваем ей значение 6
                while (x > 3) {
	                // Создаем цикл While (пока), и задаем ей условие: пока x больше 3, к переменной result прибавляем x
	                result = result + x;
	                // result будет равен 6, отнимаем от х - 1
	                x = x - 1;
                }
                for (int z = 1; z < 3; z = z + 1) { // Создаем числовое условие for к переменной z, и пока z < 3, прибавляем ей по 1 единице
	                result = result + z; // К переменной result прибавляем результат полученный из условия переменной z
                }

                MessageBox.Show("Результат равен " + result); // Выводим общий результат вычислений в качестве переменной result
        }


В ответе, у переменной выводиться как result = 18. Почему?
Если у нас в цикле while условие будет соблюдаться пока x > 3, значит когда x < 3 или x = 3 условие перестанет соблюдаться. Следовательно переменная x (x = 6), может отдать переменной result только 3 единицы (т.к дальше уже будет не будет x > 3). Значит result + x = 3 (result изначально = 0)
Потом result + for (i) = 6 (3 + 3 = 6 по условиям цикла for). В ответе должно получиться значение 6. Так откуда вообще 18? Я не могу понять логику работы цикла while.
Я только начинаю изучать C#, сильно не пинайте. Спасибо за внимание.
  • Вопрос задан
  • 329 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vilgeforce
Раздолбай и программист
Отладчик в помощь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы