Как написать макрос, который получает два аргумента и (например, 3
и 2
), возвращает следующий вывод?Как выровнять арифметический результат в макросе препроцессора
The sum of 3 and 2 is 5
Это то, что я пишу, но он не компилируется:
#define SOMMA(x, y) puts("La somma di " #x " e " #y " e' " #(x+y));
называя его
SOMMA (a, b);
с a
и b
введены раньше ...
Я думаю, что вы ищете '#' работы препроцессора. См. Например, https://gcc.gnu.org/onlinedocs/cpp/Stringification.html (Не переписывать это как полный ответ прямо сейчас, а их описания - все равно. Кстати, Google нашел это довольно легко, хотя он помогает узнать, что вы ищете.) – keshlam