Рубрики

Викторина С — 104 | Вопрос 3

Что произойдет, когда мы скомпилируем и запустим следующую C-программу?

#include "stdio.h"

  

int main()

{

  int i = 1, j;

  for ( ; ; )

  

    if (i)

        j = --i;

    if (j < 10)

       printf("GeeksQuiz", j++);

    else

       break;

  }

  return 0;

}

(A) Ошибка компиляции.
(B) Нет ошибки компиляции, но это приведет к бесконечному циклу печати GeeksQuiz.
(C) Нет ошибки компиляции, и она напечатает GeeksQuiz 10 раз.
(D) Нет ошибки компиляции, но она напечатает GeeksQuiz 9 раз.

Ответ: (с)
Объяснение: По сути, хотя цикл for не имеет ни одного из трех выражений в скобках, инициализация, управление и приращение были выполнены в теле цикла. Таким образом, j будет инициализирован в 0 через первый, если. Это, если само по себе будет выполнено только один раз из-за я -. Затем блоки if и else используются для проверки значения j и существующего цикла, если j становится равным 10. Обратите внимание, что j увеличивается в printf, даже если в строке формата нет спецификатора формата. Вот почему GeeksQuiz будет напечатан для j = 0 до j = 9, то есть всего 10 раз.
Тест на этот вопрос

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

Викторина С — 104 | Вопрос 3

0.00 (0%) 0 votes