【发布时间】:2017-11-16 12:47:42
【问题描述】:
在以下程序中,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 编译器?
【问题讨论】:
-
gcc 编译器不为独立环境提供除标头之外的标准库。那么,您使用哪种标准库实现?
-
“它对任何编译器都有效” 是的,正如您自己的编译所证明的那样 - 它至少对一个编译器有效。 “只支持 GCC 编译器?”是一个广泛的问题。要回答是,需要调查许多编译器以找到另一个支持它的编译器。要回答“否”,可能需要调查所有编译器。
-
查看是否为GCC扩展,编译时包含
-pedantic选项
标签: c indexing printf format-specifiers