三卦造成的可能陷阱
Version >= C99
在編寫//
分隔註釋時,可能會產生影響其預期操作的列印錯誤。如果有一種型別:
int x = 20; // Why did I do this??/
最後的/
是一個錯字,但現在將被解釋為\
。這是因為 ??/
形成了一個三字形。
??/
三字母實際上是\
的簡寫符號,它是行連續符號。這意味著編譯器認為下一行是當前行的延續,即註釋的延續,這可能不是預期的。
int foo = 20; // Start at 20 ??/
int bar = 0;
// The following will cause a compilation error (undeclared variable 'bar')
// because 'int bar = 0;' is part of the comment on the preceding line
bar += foo;