My code is:
#include
#include
void main()
{
char string[10];
int A = -73;
unsigned int B = 31337;
strc
A workaround to use %x with length specifier to print an int or unsigned int without compiler complaining about casting would be to use malloc:
unsigned int* D = malloc(sizeof(unsigned int)); // Allocate D
unsigned int D_address = *((unsigned int*) &D); // D address for %08x without warning
*D = 75; // D value
printf("variable D is at address: %p / 0x%08x with value: %u\n", D, D_address, *D);
Alternatively you can compile with gcc -w flag to suppress those casting warnings.