《C语言30—测试unsigned int》
2019-04-07 本文已影响14人
竹予青青
2019年4月7日星期日 晴
为了测试unsigned int之间的运算结果的类型,写了以下程序:
//测试unsigned int运算结果的程序
//unsigned之间的运算的结果也是unsigned,所以定义的时候要注意这一点
//如果是unsigned的小数减去大数的话,结果也是会默认为是unsigned
int function3()
{
unsigned int a = 8;
unsigned int b = 9;
unsigned int c = a - b;
//printf("%d", a - b);
if (a - b >= 0)
{
printf("%x\n",c);
printf("%d", a - b);
}
else
{
printf("a - b < 0 \n");
}
}
运行结果是:
ffffffff
4294967295
-1
从结果我们可以看出,unsigned int型的 a-b 的结果是大于0的,也就是说结果也是unsigned的,如果在定义类型的时候不注意这点就很容易发生错误。
Weif
2019年4月7日