C++ 为什么使用putchar(&&x27;\\\&&x27;);韩元';行不通

C++ 为什么使用putchar(&&x27;\\\&&x27;);韩元';行不通,c++,C++,我想得到输出,所以我把它输入到我的代码putchar('\\\') 但它不起作用,我得到以下错误 D:\c++work\change\change.cpp(17):错误C2001:常量中的换行符 D:\c++work\change\change.cpp(17):致命错误C1057:宏扩展中的文件意外结束 为什么? \是一个转义的\,那么您就有了\'这是一个转义的\。我猜你是想写:putchar('\\')或putchar('\\\')(后者不正确,应执行前两次或使用另一个函数) 现在(\\\\)

我想得到输出,所以我把它输入到我的代码putchar('\\\') 但它不起作用,我得到以下错误

D:\c++work\change\change.cpp(17):错误C2001:常量中的换行符
D:\c++work\change\change.cpp(17):致命错误C1057:宏扩展中的文件意外结束


为什么?

\
是一个转义的\,那么您就有了
\'
这是一个转义的\。我猜你是想写:
putchar('\\')
putchar('\\\')(后者不正确,应执行前两次或使用另一个函数)

现在(
\\\\
)您正在逃避最后一个“错误”,这会导致编译器“误解”您的代码。(我把曲解放在引号里,因为它实际上正确地解释了它,只是它不是很明显)

tl;博士


将获得正确的输出。()

\
是一个转义的\,那么您就有了
\'
这是一个转义的\。我猜你是想写:
putchar('\\')
putchar('\\\')(后者不正确,应执行前两次或使用另一个函数)

现在(
\\\\
)您正在逃避最后一个“错误”,这会导致编译器“误解”您的代码。(我把曲解放在引号里,因为它实际上正确地解释了它,只是它不是很明显)

tl;博士


将获得正确的输出。)啊。请格式化你的代码。你问的是两个转义序列和一个未终止的多字符常量,还是一个普通字符常量中的单个转义序列?你必须转义两个反斜杠`\\\\`啊。请格式化你的代码。你问的是两个转义序列和一个未终止的多字符常量,还是一个普通字符常量中的单个转义序列?你必须转义两个反斜杠`\\\\`@重复数据消除器是的,我应该清除它up@Deduplicator
“\\\”
实际上是。@YuHao:你是说“\\\”的值。对但它和字符常量不一样。。。(理论上可能是的,再次强调)@Deduplicator我的观点是,这不是未定义的行为,只是实现定义的。@Deduplicator是的,我应该澄清这一点up@Deduplicator
“\\\”
实际上是。@YuHao:你是说“\\\”的值。对但它和字符常量不一样。。。(从理论上讲,可能是的)@Deduplicator我的观点是,这不是未定义的行为,只是定义了实现。
putchar('\\');
putchar('\\');
puts("\\\\");