简单的 printf 程序不起作用
Simple printf program doesn't work
这个程序不工作,我不知道为什么。
#include <stdio.h>
int main()
{
printf("%а", 20.0);
}
我正在用 C99 编译。预期输出为 0x1.4p+4
а
是CYRILLIC SMALL LETTER A (U+0430)
,但你必须使用LATIN SMALL LETTER A (U+0061)
:a
。
如果您使用的编译器能够检查格式字符串,例如 Clang 或 GCC,则使用(至少)-Wall
进行编译,其中包括 -Wformat
(GCC Warning documentation)
5 : warning: unknown conversion type character 0xffffffd0 in format [-Wformat]
5 : warning: too many arguments for format [-Wformat-extra-args]
它真的有线。当我复制粘贴你的代码时,它变成 printf("%?", 20.0);
你应该检查你的字符编码。
这个程序不工作,我不知道为什么。
#include <stdio.h>
int main()
{
printf("%а", 20.0);
}
我正在用 C99 编译。预期输出为 0x1.4p+4
а
是CYRILLIC SMALL LETTER A (U+0430)
,但你必须使用LATIN SMALL LETTER A (U+0061)
:a
。
如果您使用的编译器能够检查格式字符串,例如 Clang 或 GCC,则使用(至少)-Wall
进行编译,其中包括 -Wformat
(GCC Warning documentation)
5 : warning: unknown conversion type character 0xffffffd0 in format [-Wformat]
5 : warning: too many arguments for format [-Wformat-extra-args]
它真的有线。当我复制粘贴你的代码时,它变成 printf("%?", 20.0);
你应该检查你的字符编码。