gpt4 book ai didi

c - printf() 在 x86-64 平台上给出相同的输出,即使在交换参数时也是如此

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:53 24 4
gpt4 key购买 nike

考虑以下代码:

#include <stdio.h>

int main() {
printf("%lf %ld\n", 1234.0, 5678L);
printf("%lf %ld\n", 5678L, 1234.0);
}

printf 的两次调用都打印相同的文本 1234.000000 5678,这与第二次调用的代码不太匹配(可能应该是 5678.0000 1234).

我在 x86-64 处理器上的 Linux 4.x 上,但我无法在 x86(32 位)上重现它。我想它可以在任何基于 amd64 架构的 Linux 系统上重现。

为什么交换参数为 printf 提供相同的输出,为什么它特定于 x86-64?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com