printf中的“%。#s”是什么意思?

Cha*_*kri 1 c printf

我在hackerearth中有一个问题来检查此printf语句中是否有错误。您能告诉我下面的这一行是否有意义?这里

str="qwertyABC"

printf("%.#s",str)
Run Code Online (Sandbox Code Playgroud)

Mik*_*CAT 6

该语句将调用未定义的行为,因为格式规范是无效的。

# 未定义为转化说明符。

#用作标志,它必须在之前.,它指定精度。

此外,由于未定义使用带有转换说明符的标记(“替代形式”)#,因此printf("%#.s",str)将其用作标记也将调用未定义的行为#s