这是我的代码的一部分。
float a = 12.5;
printf("%d\n", a);
printf("%d\n", (int)a);
printf("%d\n", *(int *)&a);
当我在 Windows 中编译时,我得到:
0
12
1094713344
然后,我在linux中编译,我得到了:
-1437851864
12
1094713344
-1437851864
每次我执行它都会改变。我的问题是:“printf”函数在 linux 中是如何工作的