4
在C / C ++中很久很久
我正在GNU的C ++编译器上尝试此代码,但无法理解其行为: #include <stdio.h>; int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; //num3 = 100000000000; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3)); printf("%d %ld %lld %llu", num1, num2, num3, num4); return 0; } 当我取消注释注释行时,代码将无法编译并给出错误: 错误:整数常量对于长型而言太大 但是,如果代码按原样编译并执行,它将产生比10000000000大得多的值。 为什么?
84
c++
types
long-integer