结构体生日{ int day:6; }生日;
在声明b-day为结构时,它显示以下错误:
error: expected ':', ',', ';', '}' or '__attribute__' before '-' token|
Run Code Online (Sandbox Code Playgroud)
但是从变量名中删除连字符后它就可以工作了,为什么呢?
连字符用作减法和求反运算符,因此不能在变量名中使用。(变量是否用于结构体或其他类型无关紧要。)
\n如果你有:
\nint a = 1;\nint b = 2;\nint a-b = 3;\nprintf("%d\\n", a-b);\nRun Code Online (Sandbox Code Playgroud)\n那么我们对于是打印 \xe2\x80\x9c-1\xe2\x80\x9d 来表示a负数b还是打印 \xe2\x80\x9c3\xe2\x80\x9d 表示变量会产生歧义a-b。