关于C转义%的问题

yuchujian 2010-06-20 04:28:18
今天无意间发现,C语言转义%,用escape居然不行\%,用单引号也不行'',不知道为什么?%是三连字符吗?请各位大仙仙指导于我,不胜感激!
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
stein42 2010-06-20
  • 打赏
  • 举报
回复
这是格式化字符串,不是转义。
printf("%c\n",'%');
printf("%s\n","%");
printf("%%\n");
都可以。
ithiker 2010-06-20
  • 打赏
  • 举报
回复
将%%理解为特殊标记吧
luzhiwei512 2010-06-20
  • 打赏
  • 举报
回复
不错~
东莞某某某 2010-06-20
  • 打赏
  • 举报
回复
printf里面做前缀用的,如果想输出%,用%%
mstlq 2010-06-20
  • 打赏
  • 举报
回复
如果楼主想在printf里面玩,那就参考下面的

#include <stdio.h>
#include <stdlib.h>


int main()
{
printf("there is one %%!");
return 0;
}

不过这个东西不是转义字符的概念……
mstlq 2010-06-20
  • 打赏
  • 举报
回复
根本就不需要转义……
参考代码

#include <stdio.h>
#include <stdlib.h>


int main()
{
const char* str= "this is %,haha!";
puts(str);
return 0;
}
liao05050075 2010-06-20
  • 打赏
  • 举报
回复
两个%,即%%

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧