gpt4 book ai didi

c - 如果使用 printf 格式化后没有参数会怎样?

转载 作者:行者123 更新时间:2023-11-30 15:56:22 31 4
gpt4 key购买 nike

Possible Duplicate:
Behaviour of printf when printing a %d without supplying variable name

例如,如果我使用 printf("%d %d"); 会发生什么? ?它会从堆栈中弹出最后八个字节并将其打印出来吗?

最佳答案

在 GCC 中 - 您会收到警告(这是使用 __attribute__ ((__warn_unused_result__)) 完成的)。

在 x86 上,您不会收到堆栈错误,因为调用者会将数据推送到堆栈,并在函数返回后弹出。这称为 C 调用约定,与 pascal 不同 - 在 Pascal 中,函数还会从堆栈中弹出数据(例如,在 ASM 中使用 ret 10)。

您所需的数据值是随机的。

关于c - 如果使用 printf 格式化后没有参数会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11305281/

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