int main() { if(sizeof(double) > -1) printf("M"); else printf("m"); return 0; }
我期望输出为 M 但它是 m。有人能解释一下输出的原因吗?
那是因为 sizeof 返回的是 size_t 值,即一个无符号整数类型,所以 -1 会溢出。
sizeof
size_t