Myślę, że jest to proste pytanie, ale walczę z następującymi. w przykładzie mam następujące oświadczenie (język C):if statement integer
int foobar
if (foobar)
{
// do something.
}
teraz, jeśli się nie mylę o tym, to stwierdzenie jest prawdziwe, gdy foobar nie jest zerem. więc powinno być całkiem takie samo jak (foobar! = 0);
Ale co się stanie, jeśli liczba stała się liczbą ujemną?
Reprezentacja liczb ujemnych jest definiowana przez implementację. Również nie ma znaczenia na to pytanie, tylko wartość * ma znaczenie, niezależnie od tego, jak jest reprezentowana. W tym kontekście 'int' nie jest konwertowane na' unsigned int'. –