【发布时间】:2020-09-26 07:28:55
【问题描述】:
当我在 CodeBlocks 中使用说明符 F 时,为什么编译器会给出错误“格式参数过多”?
#include <stdio.h>
int main()
{
float x = 3.14159;
printf("%f\n", x);
printf("%F\n", x);
return 0;
}
错误:
error: unknown conversion type character 'F' in format [-Werror=format=]
error: too many arguments for format [-Werror=format-extra-args]
【问题讨论】:
-
CodeBlocks 使用什么编译器?可以指定标准吗?你能得到更新吗?大写的
%F格式说明符是在 C99 标准中引入的,因此您需要一个不到 20 年的编译器。 -
@AdrianMole 编译器可以是新的 - 但它取决于命令行选项和/或使用的默认 C 标准(您可以在构建编译器时设置它)
标签: c printf codeblocks format-specifiers