gpt4 book ai didi

c - putchar ('\\' ) 返回单个 '\' - 在 Windows 上使用 mingw

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:56 25 4
gpt4 key购买 nike

完成 K&R“C 编程语言”和练习 1-10,要求您将每个制表符、退格键和反斜杠替换为两个反斜杠。我注意到我的控制台只返回 '\'

我的代码示例

#include <stdio.h>

main ()
{

int c;

while ((c = getchar()) != EOF) {


switch (c) {
case '\t': putchar ('\\'); break;
case ' ': putchar ('\\'); break;
case '\\': putchar ('\\'); break;
default: putchar (c);
}
}

}

要修复它,我必须输入:

  switch (c) {
case '\t': putchar ('\\'); putchar ('\\') break;

这与窗口和字 rune 字有关,还是我遗漏了什么?只是想知道这是否表明我需要阅读一些关于 c 编程对我在 Windows 上的不同之处(即使使用 gcc 编译器)

最佳答案

您正在成为正则表达式业务中许多人所说的 blackslash hell 的受害者.

因为传统上 \ 用于表示转义序列,转义它(可以理解)会让人有些困惑。

对于每个要打印的 \,您需要使用另一个 \ 将其转义。

display -> write
----------------
\ -> \\
\\ -> \\\\

等广告恶心

不幸的是 \\\\ 不是 char,因此您将无法使用 putchar,但您可以想要4个斜杠。您可以使用 puts("\\\\") 或将您当前的方法与两个 putchar('\\') 一起使用。

关于c - putchar ('\\' ) 返回单个 '\' - 在 Windows 上使用 mingw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35829991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com