c - printf中的 “%.#s”是什么意思?

标签 c printf

我在hackerearth中有一个问题要检查这个printf语句是否有错误。你能告诉我下面这行是否有任何意义吗?这里

str="qwertyABC"

printf("%.#s",str)

最佳答案

此语句将调用未定义的行为,因为格式规范无效,因为 # 未定义为转换说明符。

要使用#作为标志,它必须放在.之前,它指定了精度。

此外,使用 # 作为标志,例如 printf("%#.s",str) 也会调用未定义的行为,因为#(“替代形式”)标志未为 %s 转换说明符定义。

关于c - printf中的 “%.#s”是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364005/

相关文章:

c - printf 不产生输入值

c - 打印语句更改字符数组输出

c - 将 float 传递给 printf 是未定义的行为吗?

c - 在函数 block 外声明的 C 中的自动存储类变量

c - 如何强制宏不展开

c - 在这些情况下,pthread rwlock 的行为是什么?

c - 遗憾的是,我的程序中名为 printf 的打印格式无法运行

java - Android ndk jni 自动生成函数

c - __udivdi3 undefined — 如何找到使用它的代码?

c - 需要解释在什么情况下我们应该在C中将&与printf一起使用