Je suis assez nouveau pour C. Je suis récemment tombé sur ce morceau de code en C:et modificateurs de types de données en C datatype
#include <stdio.h>
int main()
{
unsigned Abc = 1;
signed Xyz = -1;
if(Abc<Xyz)
printf("Less");
else
if(Abc>Xyz)
printf("Great");
else
if(Abc==Xyz)
printf("Equal");
return 0;
}
J'ai essayé de l'exécuter et les sorties « Moins ». Comment ça marche? Quelle est la signification de Abc non signé? Je pourrais comprendre non signé char Abc, mais simplement non signé Abc? Je suis assez sûr que Abc n'est pas un type de données! Comment (et pourquoi?) Cela fonctionne-t-il?
Même si le « ' int' comme type par défaut » comportement fait partie de la norme C, il est généralement préféré si vous écrivez explicitement' int' non signé au lieu de laisser le compilateur le remplir pour vous. C'est moins sujette aux erreurs et plus facile à lire (comme en témoigne votre confusion ici). – bta