Рубрики

C | Классы хранения и классификаторы типов | Вопрос 19

Вывод следующей программы?

#include <stdio.h>

int main()

{

    static int i=5;

    if(--i){

        main();

        printf("%d ",i);

    }

}

(А) 4 3 2 1
(Б) 1 2 3 4
(С) 0 0 0 0
(D) Ошибка компилятора

Ответ: (с)
Объяснение: Статическая переменная является общей для всех вызовов функции. Все вызовы main () в данной программе имеют одинаковый i. Я становлюсь 0 перед оператором printf () во всех вызовах main ().

Тест на этот вопрос

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

C | Классы хранения и классификаторы типов | Вопрос 19

0.00 (0%) 0 votes