I have come across a problem involving exclamation marks and integers whilst reading a code in my reference book.
Let us say I have declared an integer variable named number - int number = 0;
I then use a while function involving an exclamation mark and number
while(!number)
{
...
}
I am confused with this because I do not know what does !number
mean and what would be possible returned results? I am not sure if this can be used, but as I said, I saw it in my book.
Therefore, it would be great if someone could tell me what does !number
mean and what does it evaluate?
Thank you in advance.
We can treat !
as not.
So if a number is non-zero (either positive or negative) it returns Zero.
If it is zero, it returns 1.
int i = 13;
printf("i = %d, !i = %d\n", i, !i);
printf("!0 = %d\n", !(0));