\%和%%之间的差异

CS学生

在阅读了一些K&R CI之后,我发现printf可以“自己识别%%”,我对此进行了测试,并打印出了“%”,然后尝试了“ \%”,它也打印了“%”。

那么,有什么区别吗?

编辑代码请求:

#include <stdio.h>

int main()
{
  printf("%%\n");
  printf("\%\n");
  return 0;
}

输出:

%                                                                               
%  

使用-o与GCC一起编译

GCC版本:gcc(SUSE Linux)4.8.1 20130909 [gcc-4_8-branch修订版202388]

土豆泥

%% 不是C转义序列,而是printf格式化程序,其特殊字符的作用类似于转义。

\%是非法的,因为它具有C转义序列的语法,但没有定义的含义。除标准列出的几个外,转义序列是特定于编译器的。编译器很可能会忽略反斜杠,并且printf在运行时看不到任何反斜杠。如果有的话,它会在输出中打印反斜杠,因为反斜杠不是专用于printf

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章