Рубрики

За то время как

Вопрос: Есть ли пример, для которого следующие два цикла не будут работать одинаково?

/ * Программа 1 -> Для цикла * /

for (<init-stmnt>; <boolean-expr>; <incr-stmnt>) 

{

   <body-statements>

}

  
/ * Программа 2 -> Пока цикл * /
<init-stmnt>;

while (<boolean-expr>) 

{

   <body-statements>

   <incr-stmnt>

}

Решение:
Если в теле-утверждениях содержится продолжение, две программы будут работать по-разному

См. Нижеприведенные примеры: Программа 1 напечатает «цикл» 3 раза, а Программа 2 — бесконечный цикл.

Пример для программы 1

int main()

{

  int i = 0;

  for(i = 0; i < 3; i++)

  {

    printf("loop ");

    continue;

  

  getchar();

  return 0;

}

Пример для программы 2

int main()

{

  int i = 0;

  while(i < 3)

  {

    printf("loop"); / * печатается бесконечное количество раз * /

    continue;

    i++; / * Это утверждение никогда не выполняется * /

  

  getchar();

  return 0;

}

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

Рекомендуемые посты:

За то время как

0.00 (0%) 0 votes