c 中的警告消息错误 [已关闭]

Warning message errors in c [closed]

提问人:Fang Sum 提问时间:1/14/2023 最后编辑:chux - Reinstate MonicaFang Sum 更新时间:1/14/2023 访问量:69

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

10个月前关闭。

warning: unknown escape sequence: '\!' [enabled by default]
  printf("\\ this is a back-slash character\!\n");
         ^
w1p2.c:25:9: warning: unknown escape sequence: '\!' [enabled by default]
  printf("%% this is a percent sign character\!\n");
         ^
w1p2.c:26:9: warning: unknown escape sequence: '\!' [enabled by default]
  printf("\" this is a double - quote character\!\n");

我做了一个简单的程序,我不断收到这些消息。
到底发生了什么,我该如何解决?
printf

我尝试使用之前的符号,但没有做太多。\

c 警告

评论

6赞 001 1/14/2023
它告诉你这是无效的。没有必要转义,所以删除之前的 .\!!\ !
0赞 Weather Vane 1/14/2023
请发布一个最小可重现示例,这是显示问题的最短完整代码。
0赞 chux - Reinstate Monica 1/14/2023
Fang Sum,好问题,带有错误消息的精确副本。

答:

1赞 chux - Reinstate Monica 1/14/2023 #1

到底发生了什么,我该如何解决?

只能对某些字符进行转义(C11 §6.4.4.4、§6.4.5、§6.4.3)。
不是其中之一,并且不需要打印 .
!\!

// printf("\\ this is a back-slash character\!\n");
printf("\\ this is a back-slash character!\n");
//                                       ^

simple-escape-sequence:其中之一

\’ \" \? \\  
\a \b \f \n \r \t \v

八进制转义序列:

\ octal-digit
\ octal-digit octal-digit
\ octal-digit octal-digit octal-digit

十六进制转义序列:

\x hexadecimal-digit
hexadecimal-escape-sequence hexadecimal-digit

通用字符名称:

\u hex-quad
\U hex-quad hex-quad