Zeng_fh_ 2022-04-07 19:10 采纳率: 89.8%
浏览 30
已结题

这段有关格式控制符的代码,怎么分析呀

代码如下
变量类型与格式描述符类型不匹配,输出项与格式描述符个数不符
为什么还可以正常输出,没有异常
这段代码为什么可以跑


#include <stdio.h>
main()
{
    char ch;
    int k;
    ch='a';
    k=12;
    printf("%c,%d,",ch,ch,k);
    //变量类型与格式描述符类型不匹配
    //输出项与格式描述符个数不符
    printf("%k=%d\n",k);
    //为何最终可以输出 a,97,k=12
}
  • 写回答

1条回答 默认 最新

  • gitis 2022-04-07 19:17
    关注

    第一个p语句中,第二个ch,char被视作int输出,所以输出a的相应的ASCII码,多余的k被忽略了,
    第二个p语句中,%k不构成格式化占位符,且%需要用%%这样的格式输出,所以%被忽略
    应该是这样

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日