相关疑难解决方法(0)

什么是"无效的转换规范"?

根据C11章节§7.21.6.1,P9

如果转换规范无效,则行为未定义.282)如果任何参数不是相应转换规范的正确类型,则行为未定义.

到时候,我的理解是,为

  char str [] = "Sourav";
Run Code Online (Sandbox Code Playgroud)
  • 一个声明就像printf("%S", str);属于第一句话,没有CS作为%S(UPPERCASE)
  • 如陈述printf("%d", str);属于第二句(CS和参数类型不匹配,但是%d不是 "无效" CS,反正)

直到最近的评论帖子通知为止.

我的理解错了吗?第二个语句是否可以归类为"无效"(PS-而非"错误")转换说明符?


更新:删除答案和评论主题,这里是 <10K用户的快照.

c printf language-lawyer conversion-specifier

4
推荐指数
1
解决办法
1144
查看次数

标签 统计

c ×1

conversion-specifier ×1

language-lawyer ×1

printf ×1