我知道句点.
可以精确分隔字段宽度。但是,我不知道%
之后零将如何变化。每次运行时,它都会显示相同的输出。
代码:
#include <stdio.h>
int main() { printf("%. %. %. "); return 0; }
输出: %.0 %.0 %.0
main.c:13:15: warning: unknown conversion type character 0x20 in format [-Wformat=]
main.c:13:18: warning: unknown conversion type character 0x20 in format [-Wformat=]
main.c:13:21: warning: unknown conversion type character 0x20 in format [-Wformat=]
答案 0 :(得分:3)
您在%
之后没有提供有效的转化说明符(例如d
,x
,f
,g
,c
, s
,p
等),因此您正在调用undefined behavior。这意味着任何事情都可能发生。
根据ISO C99标准的7.19.6.1/9:
如果转换规范无效,则行为未定义。 239)如果任何参数不是对应转换规范的正确类型,则行为为 未定义。