gpt4 book ai didi

c - 当传递的参数不足时 printf 会做什么?

转载 作者:行者123 更新时间:2023-11-30 21:41:18 26 4
gpt4 key购买 nike

假设我使用了 printf没有传递足够的参数来匹配格式说明符:

#include <stdio.h>

int main(void) {
printf("missing argument: %s\n");
}

对结果有什么保证吗?
在我的机器上,根本没有打印任何内容。
情况总是如此,还是有可能用已解析的说明符打印字符串?

例如: missing argument: %s

或者: missing argument:

最佳答案

C 规范在这一点上是明确的:

... If there are insufficient arguments for the format, the behavior is undefined. ...
C11dr §7.21.6.1 2

对结果有什么保证吗? --> 没有。

(在我的机器上,根本没有打印任何内容。)情况总是如此 --> 不。

它是否有可能使用已解析的说明符打印字符串? --> 是的。该行为是未定义的。任何事情都可能发生。

关于c - 当传递的参数不足时 printf 会做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41557991/

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