c - 杂散的 \ [反斜杠] 在 C 代码中是否有任何意义?
问题描述
对于代码:
#include <stdio.h>
int main(void) {
\
printf("Test");
}
通过编译gcc -Wall -Wextra -Wfatal-errors test.c
不会给出警告。
但是对于其他杂散字符,编译会导致以下错误:
test.c:3:1: error: stray ‘`’ in program
`
^
compilation terminated due to -Wfatal-errors.
我尝试了相同的方法,使用不同的杂散字符,每次都出现错误。这些错误的范围从expected primary-expression before the token
到value computed is not used
. 我期待反斜杠字符也会出现类似的警告/错误。
那么,在 C 代码中,后跟没有空格的杂散反斜杠没有意义吗?
我知道冗余分号 (;) 在 C 代码中没有影响,那么这些是否有某种关联?
解决方案
反斜杠正在转义它后面的换行符。它用于在空格相关的情况下逻辑组合两行或多行,例如在字符串常量的中间或作为宏定义的一部分,以便它可以跨越多行。
在这种特殊情况下,空格并不重要,因此对代码没有影响。
如果您要在之后添加空格,\
则会收到警告,如果您;
在这些空格之后添加空格,则会收到有关流浪的错误\
。
推荐阅读
- php - 检查 URL 在 Wordpress PHP 中是否有 ID
- apache - 为什么使用 Apache 的反向代理返回不同的结果?
- html - 使用 Selenium webdriver Chrome 从下拉列表中选择元素
- list - 如何在pyspark中拆分包含正斜杠的列表
- asp.net-core - 如何使用 Asp.net Core 在 Blazor 服务器端防止重复记录
- google-play-console - Android 应用程序包和动态模块交付
- java - unsatisfiedDependencyException org.springframework.beans.factory 的问题
- numpy - 我如何轻松地将元组numpy转换为张量流中的元组张量
- visual-studio-code - 下载 VSCode 源代码时 Chrome 消息“错误 - 检测到病毒”
- reactjs - Jest/Enzyme - 如何将 nock 库与连接的 redux 存储组件一起使用?