unsigned short int uwVal1=-10;short int wVal2=-10;
if(uwVal1==wVal2)
printf("Something");
私の知る限り、符号なしの型が符号付きの型と比較されるたびに、符号付きはそれを符号なしに変換するということです。したがって、そのロジックにより...上記のコードは「何か」を出力するはずです。
私がこれを好きなら...
printf("%u",wVal2);
4294967286!...number が出力されます。これは、short int max +range ie65535 よりもはるかに大きい値です。-10 の unsigned 値は 65526 になります。ロジックは私が考えているものとは異なりますか?