原理:当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。
实例代码:
#include
#include
int main()
{
int i=100;
int j=-1;
if(i<0){
printf("i 是有符号数\n");
}else{
if((j-i)>0){ //如果i是无符号数,则在计算过程中j就会自动转为无符号数,则j应该比i大;如果i是有符号数,则j应该比i小
printf("i 是无符号数\n");
}else{
printf("i 是有符号数\n");
}
}
printf("----------------------------\n");
unsigned int a=100;
int b=-1;
if(a<0){
printf("a 是有符号数\n");
}else{
if((b-a)>0){ //如果a是无符号数,则在计算过程中b就会自动转为无符号数,则b应该比a大;如果a是有符号数,则b应该比a小
printf("a 是无符号数\n");
}else{
printf("a 是有符号数\n");
}
}
system("pause");
return 0;
}
运行截图: