根据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-而非"错误")转换说明符?