如何在console. C中输出“\”

vuktfyat  于 2022-12-03  发布在  其他
关注(0)|答案(4)|浏览(134)

我想在控制台中写入一些符号,但\字符的输出有问题。
我知道它是C保留的,用于在printf()内部格式化,但我确实想输出它。

printf(" __    __  __ __  ____    \n");
printf(" ||\  /||  || //  ||/\\   \n");
printf(" ||\\//||  ||//   ||\//  \n");
printf(" || \/ ||  ||\\   ||‾‾   \n");
printf(" ||    ||  || \\  ||   \n");
printf(" ‾‾

我希望这里的\\只会像其他char一样输出,但它不能只输出。

xxe27gdn

xxe27gdn1#

在C语言中,需要使用\\来代替\

puts(" __    __  __ __  ____    \n"
     " ||\\  /||  || //  ||/\\\\   \n"
     " ||\\\\//||  ||//   ||\\//   \n"
     " || \\/ ||  ||\\\\   ||‾‾    \n"
     " ||    ||  || \\\\  ||      \n");

在C++中,可以使用原始字符串:

std::cout << R"(
__    __  __ __  ____
||\  /||  || //  ||/\\
||\\//||  ||//   ||\//
|| \/ ||  ||\\   ||‾‾ 
||    ||  || \\  ||   
)";
hgb9j2n6

hgb9j2n62#

退格键是C/C++中的一个特殊转义字符,这样你就可以键入,例如'\n'。你可以使用\\在你的字符串中得到一个\

s8vozzvw

s8vozzvw3#

逃离它-例如

printf(" ||    ||  || \\  ||   \n");

应该是

printf(" ||    ||  || \\\\  ||   \n");
ecr0jaav

ecr0jaav4#

\表示C & C++ 中 * 转义序列的开头。

Escape sequence |   Hex value in ASCII  |   Character represented
    \a              |   07                  | Alert (Beep, Bell) (added in C89)[1]
    \b              |   08                  | Backspace
    \e              |   1B                  | Escape character
    \f              |   0C                  | Formfeed Page Break
    \n              |   0A                  | Newline (Line Feed); see notes below
    \r              |   0D                  | Carriage Return
    \t              |   09                  | Horizontal Tab
    \v              |   0B                  | Vertical Tab
    \\              |   5C                  | Backslash
    \'              |   27                  | Apostrophe or single quotation mark
    \"              |   22                  | Double quotation mark
    \?              |   3F                  | Question mark (used to avoid trigraphs)
    \nnn            |   any                 | The byte whose numerical value is given by nnn interpreted as an octal number
    \xhh…           |   any                 | The byte whose numerical value is given by hh… interpreted as a hexadecimal number
    \uhhhh          |   none                | Unicode code point below 10000 hexadecimal (added in C99)[1]: 26 
    \Uhhhhhhhh      |   none                | Unicode code point where h is a hexadecimal digit
  • 从维基百科中窃取的表格

如您所见,要获得反斜杠,您需要使用\\

相关问题