unsigned int uint_1 = 1; int int_n1=-1; if( uint_1 > int_n1 ) printf("都变为有符号数\n"); else printf("都变为无符号数\n"); if( (signed)uint_1 > int_n1 ) printf("都变为有符号数\n"); else printf("都变为无符号数\n");
执行结果为:
都变为无符号数 都变为有符号数
可以见得当无符号数与符号数一起运算时,符号数会被默认转换为无符号数
unsigned int uint_1 = 1; int int_n1=-1; if( uint_1 > int_n1 ) printf("都变为有符号数\n"); else printf("都变为无符号数\n"); if( (signed)uint_1 > int_n1 ) printf("都变为有符号数\n"); else printf("都变为无符号数\n");
执行结果为:
都变为无符号数 都变为有符号数
可以见得当无符号数与符号数一起运算时,符号数会被默认转换为无符号数