#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