关于C语言中的unsigned
在C语言中,对unsigned做出(unsigned int)i>=0 判断,将会得到一个永真值。
int i;
for(i=10;i-sizeof(int)>=0;i--){
printf("yes");
}
or
unsigned int i;
for(i=10;i>=0;i--){
printf("yes");
}
程序将不会停止
sizeof(int)返回的是一个无符号类型的值!
总结:
在表达式的计算中,如果出现了无符号的变量或常量,该表达式最后的结果也为无符号类型---要区分无符号类型和有符号类型的最大值和计算方式的差异

浙公网安备 33010602011771号