void main() { if(sizeof(int) > -1) printf("true"); }否则 printf("假"); ; [复制]

2023-11-26

void main()
{
    if(sizeof(int) > -1)
        printf("true");
    else
        printf("false");    
}

我期望输出为真,但结果是假的。谁能解释一下输出的原因。


sizeof(int)属于类型size_t,这是一个无符号整数类型。所以在表达式中if(sizeof(int) > -1), -1转换为无符号整数,这个整数很大。

顺便说一句,使用int main而不是非标准的void main.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

void main() { if(sizeof(int) > -1) printf("true"); }否则 printf("假"); ; [复制] 的相关文章

随机推荐