#include #include #include #define traceval(X) \ fprintf(stderr, _Generic((X), char *: "%s\n", int: "%d\n", void *: "%p\n"), X) int main(int argc, char *argv[]) { traceval("Hello"); traceval(42); traceval(NULL); return 0; }