Рубрики

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

Какой вывод будет сгенерирован данным кодом d / сегмента, если:
Строка 1 заменяется на «auto int a = 1;»
Строка 2 заменяется на «register int a = 2;» (GATE CS 2012)
(А) 3 1
4 1
4 2
(Б) 4 2
6 1
6 1
(С) 4 2
6 2
2 0
(D) 4 2
4 2
2 0

Ответ: (Д)
Объяснение: Если мы заменим строку 1 на «auto int a = 1;», а строку 2 на «register int a = 2;», тогда «a» станет нестатичным в prtFun (). Выход первого prtFun () остается тем же. Но выходные данные второго вызова prtFun () изменяются, так как во втором вызове создается новый экземпляр «a». Таким образом, «4 2» печатается снова. Наконец, printf () в main выведет «2 0». Создание 'a' переменной регистра ничего не изменит в выводе.

Пожалуйста, пишите комментарии, если вы найдете какие-либо неправильные ответы / объяснения, или вы хотите поделиться дополнительной информацией по темам, обсужденным выше.
Тест на этот вопрос

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

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

0.00 (0%) 0 votes