In c programmazione perché sto ottenendo 0 zero per questo? Perché -5<(unsigned)5
è falso?
main(){
printf("%d",-5<(unsigned)5);
getch();
}
Perché lo fa come un confronto senza segno, il che significa che in realtà sta controllando se UINT_MAX - 4 < 5
, che ovviamente è falso.
L'IMO senza tipi non firmati è una delle poche cose che Java ha davvero ragione. Significa che non hai mal di testa come questo.
Leggi altre domande sui tag c