函数中在C语言的printf函数中如何转义百分号(%)符号

28 浏览
0 Comments

函数中在C语言的printf函数中如何转义百分号(%)符号

在使用C语言的printf函数时,如何转义百分号(%)字符?

printf("hello\%"); /* not like this */

admin 更改状态以发布 2023年5月20日
0
0 Comments

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

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

char c[100];
char *c2;
...
printf(c); /* OR */
printf(c2);

每当您需要打印字符串时,请始终使用

printf("%s", c)

以防止嵌入的%导致问题(内存违规,分段错误等)。

0
0 Comments

你可以通过发帖双倍百分号 "%%" 进行转义,如下所示:%%

使用你的例子:

printf("hello%%");

转义百分号只是针对 printf。如果你这样写:

char a[5];
strcpy(a, "%%");
printf("This is a's value: %s\n", a);

它将打印出:This is a's value: %%

0