首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C的printf中转义%(百分号)符号

如何在C的printf中转义%(百分号)符号
EN

Stack Overflow用户
提问于 2009-12-07 22:02:08
回答 10查看 320.4K关注 0票数 312

在C中使用printf时,如何转义%符号?

代码语言:javascript
运行
复制
printf("hello\%"); /* not like this */
EN

回答 10

Stack Overflow用户

发布于 2009-12-07 22:06:41

正如其他人所说,%%将转义%。

但是,请注意,您永远不应该这样做:

代码语言:javascript
运行
复制
char c[100];
char *c2;
...
printf(c); /* OR */
printf(c2);

当你必须打印一个字符串时,总是使用

代码语言:javascript
运行
复制
printf("%s", c)

以防止嵌入的%导致问题(内存冲突、segmentation faults等)。

票数 41
EN

Stack Overflow用户

发布于 2009-12-07 22:04:59

如果字符串中没有格式,可以使用puts (或fputs):

代码语言:javascript
运行
复制
puts("hello%");

如果字符串中有格式:

代码语言:javascript
运行
复制
printf("%.2f%%", 53.2);

正如注释中所指出的,puts会将\n附加到输出,而fputs不会。

票数 34
EN

Stack Overflow用户

发布于 2009-12-07 22:03:59

带着它自己。

代码语言:javascript
运行
复制
printf("hello%%"); /* like this */
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1860159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档