C语言:char 型数据 与 unsigned char型数据比大小
如果两个数都是正数,则结果就是正常的大小。
如果char型的数据为负数,则会将char型数据转成unsigned char型数据再比较,比如,-1会变成255,-10会变成246,然后在比较
这是就会导致可能结果与逻辑不同的现象:
char a=-1;
unsigned char b=5;
char result;
if(a>b){result=0;}
else{result=1;}
运行后result的结果是0.也就是出现了-1>5的现象。

浙公网安备 33010602011771号