#include <stdio.h>
#define type(x) _Generic((x),                                                     \
          int: "int",                     unsigned int: "unsigned int",           \
        float: "float",                         double: "double",                 \
  long double: "long double",                   char *: "char *",                 \
       void *: "void *",                         int *: "int *",                  \
      default: "unknown")
int main(var1, var2, var3, var4, var5) {
	printf("%s %s %s %s %s\n", type(var1), type(var2), type(var3), type(var4), type(var5));
	printf("%d %d %d %d %d", var1, var2, var3, var4, var5);
	return 0;
}