C语言中当无符号数遇到符号数

时间:2021-09-18 01:20:14
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");

  执行结果为:

都变为无符号数
都变为有符号数

  可以见得当无符号数与符号数一起运算时,符号数会被默认转换为无符号数