1,642 views
3 3 votes

Predict the output of following program. Assume that the numbers are stored in 2's complement form.

#include<stdio.h>

int  main()

{

   unsigned int x = -1;

   int y = ~0;

   if (x == y)

      printf("same");

   else

      printf("not same");

   return 0;

}

1.SAME

2.NOT SAME

1 Answer

Best answer
4 4 votes
#include <stdio.h>
int  main() {
  unsigned int x = -1; // bit pattern = all ones
  int y = ~0; // bit pattern = all ones
  if (x == y) // y is promoted to unsigned int 
        // ( as common type) for comparison
    printf("same"); // gets printed
  else
    printf("not same");
  return 0;
}
• selected by
Position:
Show:

Related questions

0 0 votes
2 2 answers
751
751 views
Shashank Kumar Mishr asked May 18, 2017
751 views
What is the output for following code and how integer value can be assigned to a character value?#include <stdio.h>int main(){ char a = 30, b = 40, c = 10; char d =...
1 1 vote
1 1 answer
945
945 views
Shashank Kumar Mishr asked May 17, 2017
945 views
predict the correct options#include <stdio.h>int main(){ if (sizeof(int) -1) printf("Yes"); else printf("No"); return 0;}1.yes2.no3.compiler error...
1 1 vote
1 answers 1 answer
3.2k
3.2k views
Shashank Kumar Mishr asked May 17, 2017
3,158 views
Assume that the size of char is 1 byte and negatives are stored in 2's complement form#include<stdio.h>int main(){ char c = 125; c = c+10; printf("%d", c); re...