C/Macro Preprocessor/Macro String


Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/cppe.ru/www/includes/parser/Preprocessor_DOM.php on line 803

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Материал из C\C++ эксперт
Перейти к: навигация, поиск

Join string

#include <stdio.h>
#define JOIN(a, b) a ## b
int main(void)
{
  printf(JOIN("one ", "two"));
  return 0;
}


Output string using Macro

#include <stdio.h>
#define output(i) printf("%d %d\n", i ## 1, i ## 2)
int main(void)
{
  int count1, count2;
  int i1, i2;
  count1 = 10;
  count2 = 20;
  i1 = 99;
  i2 = -10;
  output(count);
  output(i);
  return 0;
}


Use macro to build string

#include <stdio.h>
#define MKSTRING(str) # str
int main(void)
{
  int value;
  value = 10;
  printf("%s is %d", MKSTRING(value), value);
  return 0;
}