int main(int argc, const char * argv[]) {
unsigned int a = 10;
if (a - 20 > 0) {
printf("大于0 %u\n",a-20);
printf("大于0 %d\n",a-20);
} else {
printf("小于0\n");
}
return 0;
}
大于0 4294967286
大于0 -10
Program ended with exit code: 0
输入结果为 > 0,因为unsigned与非unsigned处理,都是unsigned。
所以用u%输出会是一个很大的值。
用d%输出就是-10
网友评论