每日一题(3)—— -2与2的比较(二)


分析下面的代码,求运行结果。


#include 

int main(void)
{
    if(-2L > 2UL)
    {
        printf("11111\r\n");
    }
    else
    {
        printf("22222\r\n");
    }

    return 0;
}


分析:

常量后面接L表示long型存储,UL表示unsigned long型存储;

无符号数与有符号数比较,编译器会把有符号数转换成无符号数,因此:

-2L = 0xFFFFFFFE;

2UL = 0x00000002;

所以if条件成立,打印11111。


每日一题(3)—— -2与2的比较(二)_第1张图片






你可能感兴趣的:(面试题收录——每日一题,面试宝典——每日一题)