Bonjour,
Je me demandais pourquoi lorsqu'on écrit
printf("%ld", (size_t) -1);
ceci affiche -1.
Cela veut dire qu'en mettant un nombre négatif dans un size_t il ne sera pas automatiquement casté en unsigned long ? En particulier -1 qui s'écrit 11111111111... en complément à 2 , devrait être casté en la valeur maximum représentable sur size_t puisque le bit de poids fort n'est plus signé.
Lorsque je run gdb, et print la valeur (size_t) -1, ça affiche : 18446744073709551615.