unsigned short int uwVal1=-10;short int wVal2=-10;
if(uwVal1==wVal2)
printf("Something");
据我所知,我知道无论何时将无符号类型与有符号类型进行比较.... signed会暂时将其转换为无符号。所以通过这个逻辑......上面的代码应该打印“Something”。
如果我喜欢这个......
printf("%u",wVal2);
它打印4294967286!...数字远远大于short int max + range,即65535。 无符号值-10将是65526.逻辑是否与我的想法不同?
答案 0 :(得分:2)