【发布时间】:2011-09-07 06:42:56
【问题描述】:
我写了一小段 C 代码。
#include<stdio.h>
int main()
{
int a = 0;
printf("Hello World %llu is here %d\n",a, 1);
return 0;
}
它正在打印以下输出
Hello World 4294967296 在这里 -1216225312
编译时出现以下警告
prog.cpp:在函数“int main()”中:
prog.cpp:5:警告:格式“%llu”需要类型“long long unsigned int”,但参数 2 的类型为“int”
我知道我需要将 int 转换为 long long unsigned int,但我不明白为什么后来的值会损坏。
提前致谢
【问题讨论】: