I used Turbo C compiler Code: #include<stdio.h> #include<conio.h> #define STYLE1 char void main() { typedef char STYLE2; STYLE1 x; STYLE2 y; clrscr(); x=255; y=255; printf("%d %d",x,y); } output: -1 -1 Pls explain how?
because char is treated as signed char... the range for signed char is -128 to 127 ... now think on these terms 1) number is stored as its binary equivalent... 2) when a number is signed it most significant bit is always high i.e. 1 3) a negative number is represented as it's 2's compliment i believe when u think on these terms..u will easily understand the o/p.