型のない言語 (PHP) から来たので、C のデータ型について少し混乱しています。次の奇妙な動作に直面しています。
//First case
unsigned int a;
a = -1;
printf("a = %u", a); //Outputs a strange number, no problem here
//Second case
unsigned int a;
a = -1;
printf("a = %d", a); //Outputs -1
私が理解していないのはa
、署名された値がどのように「含まれている」unsigned
かです。
2番目のケースで出力をフォーマットするだけで、どうすればそれを行うことができますか?