long long n = 3000000000;
printf("%d", n);
n 里明明存的是 3000000000,关于这行 printf 的输出结果,说法正确的是?
- A. 会自动换成小数输出,比如 3000000000.0
- B. 输出的值不可信:%d 只按 int 的规矩取数,30 亿超出 int 范围,常变成一个奇怪的数甚至负数,要正确输出得改用 %lld
- C. 正常输出 3000000000,int 装得下 30 亿
- D. 编译一定报错,这行代码无法通过编译
long long n = 3000000000;
printf("%d", n);
n 里明明存的是 3000000000,关于这行 printf 的输出结果,说法正确的是?