C语言基础学习

《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日

上一篇下一篇

猜你喜欢

热点阅读