【发布时间】:2012-08-28 12:29:22
【问题描述】:
为什么这个简单的 C 程序会打印 -2147483648?
#include <stdio.h>
int main(){
printf("%i", (int)2147483648);
return 0;
}
当然,如果我不强制转换并使用 %lld 作为格式说明符,我会得到预期的输出。
【问题讨论】:
-
你读过hackerschool.com/blog/5-learing-c-with-gdb 不是吗?我 5 分钟前读过它,在同一个问题上停了一分钟。