static char x; printf("%d",x); above statement does not work. but following statement work printf("%bd",x); what is differance between format specifier %d and %bd
"... in regular C, a char variable in a printf() statement would be promoted to int? Keil C51 certainly does not do this." Is that because you've disabled ANSI Integer Promotion...?
"Is that because you've disabled ANSI Integer Promotion...?" No. "ANSI integer promotion" does not affect promotion of arguments to variadic functions.