我想使用\0
打印printf
。首先我发现printf("ab\0c")
不对,因为我只能得到“ab
”。然后我找到了一种使用ab\0c
打印“printf("ab\\0c")
”的方法。但这带来了一个新问题。如果我要打印"ab\\0c"
怎么办?我想用一句话打印出来。你有什么好办法吗?
答案 0 :(得分:5)
打印单个反斜杠(而不是将其用作转义序列)需要双反斜杠才能撤消转义。所以基本上
ab\0c
,则需要printf("ab\\0c")
(2次1次为2次)ab\\0c
,则需要printf("ab\\\\0c")
(2次2次为4次)答案 1 :(得分:2)
\
“转义”特殊字符(允许您编写\n
和\"
等)。如果你想要打印\
,你需要逃避它(因为\
本身就是一个特殊字符)。将\\
放入字符串中以打印\
。
如果您要打印\\
,您的格式字符串必须为\\\\
(即同时退出\
)。
答案 2 :(得分:1)
一个\\
打印一个\
,打印\\
,使用:
printf("ab\\\\0c");
答案 3 :(得分:1)
你应该尝试这个程序:
printf("ab\\\\0c");
答案 4 :(得分:0)
使用双' \'逃避:
printf("ab\\\0c");