Рубрики

C | Макро и препроцессор | Вопрос 9

Выход?

#include<stdio.h> 
#define f(g,g2) g##g2 

int main() 

   int var12 = 100; 

   printf("%d", f(var,12)); 

   return 0; 

}

(А) 100
(B) Ошибка компилятора
(С) 0
(D) 1

Ответ: (А)
Объяснение: Оператор ## называется «Вставка токена» или «Оператор слияния». Он объединяет два токена в один токен. Итак, после предварительной обработки основная функция становится следующей и печатает 100.

int main() 
{ 
   int var12 = 100; 
   printf("%d", var12); 
   return 0; 
}

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

C | Макро и препроцессор | Вопрос 9

0.00 (0%) 0 votes