#include <stdio.h>
int main(void)
{
double a = 1234.5f;
int b = 71;
int c = 68;
int d;
printf("%d %d %d %d\n", a,b,c,d);
return 0;
}
输出:奇怪的行为
0 1083394560 71 68
这里,为什么b为给垃圾值,而C是给的b和d是给的C值,甚至是未初始化值?
重视您的编译器警告。不匹配的格式说明符和输入数据会导致*未定义的行为*。 – DCoder 2014-10-03 06:36:17
** Dcoder **,我看到了编译器的警告,我有意编写代码,我只是想知道它的原因是bahaviour。 – JagsVG 2014-10-03 07:59:22