luoyihu
luoyihu
采纳率50%
2013-09-13 12:41

使用c语言printf输出%s

已采纳

我想用C语言输出%s,为什么printf("%%s")可以输出%s?这是什么原理?
为什么用转义的方式printf("\045")的方式,不能输出%呢?printf("\044")不就能输出$

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • lx624909677 lx624909677 8年前

    首先说下%,这是格式吗,后面跟着的是输出内容的格式,\045方式输出和%输出结果都是一样的,因为你没有加对应的格式都不会输出内容,如果你写成\045\045就可以输出一个%,原因和上面说的一样,而$只是一个符号,没有其他功能,所以可以直接输出

    点赞 1 评论 复制链接分享
  • forgaoqiang 理工小强 8年前

    前面的是符号输出格式描述符,比如 printf(“%c",'a'); 描述符可有可无,你的
    %%s 因为不存在 %%s 的描述符,程序就当做字符串输出了
    如果要输出单个字符,可以使用 %c

    点赞 1 评论 复制链接分享
  • WY247688206 WY247688206 8年前

    %%s中,%% 是转义字符,% 所以输出的是%s
    "\044" "\045" 由于"\044"是普通字符,可以通过这样的方式输出
    printf("\045"); 编译后就是 printf("%"); 当然不能输出 % , C语言规定 通过%%的形式输出 %,就和输出"\" 是一样的,这是特殊字符的输出方式

    点赞 1 评论 复制链接分享

相关推荐