Hai can anyone give the information abt sizeof... how to sizeof operatot exactly in 8051 family
Does that depend on whether the standard Integer Promotions are enabled or not...?
No, C51 always treats an integer constant as an 8 bit value if it will fit into one. The 'integer promotions' or whatever Keil calls them only apply to operator operands not to variadic function arguments. If I remember correctly the position with non-prototyped non-variadic functions is unimportant as the compiler simply won't accept them.
It's safest to always qualify constants at the point of definition and to cast constants when passing them to variadic functions unless you have a good reason not to do so.
The documentation of these issues is scant as best and I don't think they are mentioned in their published 'differences from ISO C', which is pretty poor show.