1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Explain output

Discussion in 'C' started by phiber_optik, Feb 18, 2008.

  1. phiber_optik

    phiber_optik New Member

    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?
     
  2. technosavvy

    technosavvy New Member

    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.
     

Share This Page