Member 12855319 Ответов: 3

Когда завершается цикл for с двумя переменными?


для (i=0, j=0;i<=20, j<=30; i++, j++)
когда мы выйдем из этой петли.
когда либо 1 условие ложно, либо цикл продолжается до тех пор, пока оба условия не станут ложными??

Что я уже пробовал:

для (i=0, j=0;i<=20, j<=30; i++, j++)
когда мы выйдем из этой петли.
когда либо 1 условие ложно, либо цикл продолжается до тех пор, пока оба условия не станут ложными??

Nelek

Лучший учитель - это ваш собственный опыт...
сделайте цикл, добавьте "print i и print j", чтобы увидеть цифры...
вуаля, ответ на вопрос.

3 Ответов

Рейтинг:
2

Afzaal Ahmad Zeeshan

Почему бы тебе самому не попробовать?

// Example program
#include <iostream>
#include <string>

using namespace std;

int main()
{
  int i, j;
  for(i=0,j=0;i<=20,j<=30;i++,j++) {
  }
  
  cout << "Loop terminated. " << endl
        << "i: " << i << endl
        << "j: " << j << endl;
}

Независимо от результата, пришло предупреждение:,
10:16: warning: left operand of comma operator has no effect [-Wunused-value]

Это привело к тому, что выход был,
Loop terminated. 
i: 31
j: 31

А это значит, что он проверял только самое правое состояние j <= 30. Каждая итерация также увеличивается i так что им обоим по 31.


Рейтинг:
1

Patrice T

Есть простой способ узнать: просто попробуйте!
Используйте отладчик, чтобы увидеть, как выполняется ваш код, и вы узнаете ответ.
Правило состоит из 1 цикла, 1 переменной и 1 условия. Если вы хотите прочитать что-то вроде 2D-матрицы, то это 2 вложенных цикла.

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
0

Jochen Arndt

Просто создайте и выполните программу с помощью цикла и посмотрите, что произойдет.

Или посмотрите его:
"Встроенный оператор запятой" в Другие операторы - cppreference.com[^] или Оператор запятой-Википедия[^].