715 views
1 votes
1 votes

predict the correct options

#include <stdio.h>

int main()

{

    if (sizeof(int) > -1)

        printf("Yes");

    else

        printf("No");

    return 0;

}

1.yes

2.no

3.compiler error

3.garbage value

1 Answer

2 votes
2 votes
really good question Thanks for post this question

sizeof return an unsigned number so -1 also converted into unsigned number which is very big in value that why it will give answer no.

if we type case first unsigned sizeof to int than it will give yes answer

#include <stdio.h>

int main()

{
    

    if ((int)sizeof(int) > -1)
    {printf("Yes");}
    else
    {printf("No");}

    return 0;

}

Related questions

0 votes
0 votes
2 answers
1
Shashank Kumar Mishr asked May 18, 2017
447 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 votes
1 votes
1 answer
2
Shashank Kumar Mishr asked May 17, 2017
2,614 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...
2 votes
2 votes
1 answer
3
Shashank Kumar Mishr asked May 17, 2017
1,318 views
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...