我在c:中键入此代码__asm__("mov $10, %rsi"); printf("%x"),打印a.
我调试它gdb,发现结果存储int register esi.
问题:为什么结果esi如何?
这是我的代码的一部分.
float a = 12.5;
printf("%d\n", a);
printf("%d\n", (int)a);
printf("%d\n", *(int *)&a);
Run Code Online (Sandbox Code Playgroud)
0
12
1094713344
然后,我在linux中编译,我得到:
-1437851864
12
1094713344
-1437851864每次我执行它都会改变.我的问题是:"printf"函数如何在linux中运行