#include #define PRINT(format,x) printf(#x " = %" #format "\n",x) int integer = 5; char character = '5'; char *string = "5"; void main() { PRINT(d, string); PRINT(d, character); PRINT(d, integer); PRINT(s, string); PRINT(c, character); PRINT(c, integer = 53); /* 'integer', 'character', and 'string'; are all declared identifiers the = sign and the 53 are numeric identifiers so they all work. If any other char string is used like integers the string is seen as an undeclared identifier. */ PRINT(d, ('5'>5 )); { int x = -2; unsigned int ux = -2; PRINT(0x,x); // hex PRINT(0x, ux); PRINT(o,x); // oct PRINT(o, ux); PRINT(d, x/2); // dec PRINT(d, ux/2); PRINT(o, x>>1); PRINT(o, ux>>1); PRINT(d, x>>1); PRINT(d, ux>>1); } }