Hello, OnlineGDB Q&A section lets you put your programming query to fellow community users. Asking a solution for whole assignment is strictly not allowed. You may ask for help where you are stuck. Try to add as much information as possible so that fellow users can know about your problem statement easily.

Explain why the output is nothing

+6 votes
asked Dec 6, 2023 by Varadaraju D (270 points)
#include<stdio.h>
int main() {
int i;
i=-1;
if(i < sizeof(i)){
printf("%d", i);
}
}

2 Answers

0 votes
answered Dec 6, 2023 by Peter Minarik (86,240 points)
This is the duplicate of https://question.onlinegdb.com/15338/explain-why-the-output-is-didnt-enters-loop

Not a literal duplicate, but the same problem in principles: comparing signed and unsigned numbers.

I did a lengthy explanation in your first question. Please, read it and apply the same logic here.
0 votes
answered Dec 27, 2023 by PRADEEP M K (150 points)
The answer will be '-1' because -1 is less than 4(size of integer variable)
commented Dec 28, 2023 by Peter Minarik (86,240 points)
Just run the code or read other comments and see that you're wrong.
Welcome to OnlineGDB Q&A, where you can ask questions related to programming and OnlineGDB IDE and and receive answers from other members of the community.
...