gpt4 book ai didi

c - printf 格式说明符中的索引说明

转载 作者:行者123 更新时间:2023-12-04 00:35:08 25 4
gpt4 key购买 nike

在下面的程序中,printf() 函数根据参数索引规范进行打印。

#include <stdio.h>

int main()
{
printf("%3$d %4$f %2$d %1$d\n", 1, 2, 3, 4.5);
}

输出:

3  4.500000  2  1

所以,我有一个问题,它对任何编译器都有效还是仅支持 GCC 编译器?

最佳答案

如您所料,C standard 不需要编号参数转换规范(即 n$) .但它们对 Gnu 实现来说并不特殊; POSIX standard 需要它们(规范 here)并且至少从 1997 年的第 2 版开始。

大多数 Unix 和类 Unix 实现都具有某种程度的 Posix 合规性,编号参数规范并不是最近才添加的。因此,您可能会在大多数当前的 Unix 和类 Unix 平台中找到支持,包括任何使用 Gnu 标准 C 库 (Linux) 或 FreeBSD 标准 C 库 (Mac OS X) 的平台。但是,如果您使用 *printf_p 函数族,( native )Windows C 标准库(不符合 Posix)仅提供对编号参数规范的支持。见 herehere .)

关于c - printf 格式说明符中的索引说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44543540/

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