```
#include <stdio.h>
#define Type int

int main()
{
        Type x=3;
        printf("%d",x);
        return 0;

}

```

The code is simple and works fine. My question is, if I change `#define Type int` to `#define Type float` so , I have to change `%d` to `%f` as well. Is there any way to have a generic specifier, that would work for all `int`, `float`, `char`, `string` etc... So that, if I change `#define Type int` then I don't have to change the format specifiers within `printf()` function?