❶ ,編譯時會出現編譯錯誤的是A) char a=』a』; B)char a=』\n』; C) char a=』aa』; D)char a=』\x2d』;
答案:C
簡要分析:
char a='aa'; a是字元變數,只能存儲一個字元!
具體分析:
A中a等於字元a
B中\為轉義字元,\n表示換行符,所以a等於換行符
C中''中只能包含一個字元來表示該字元常量。你可以這樣寫char *a="aa";表示a指向字元串常量的首地址。
D中x表示十六進制數,16進制的2d轉換為十進制為45,即為字元『-』
'\x2d'就是'\-',所以a=『-』
所以c選項錯誤
❷ gcc編譯,出現錯誤:expected 『=』, 『,』, 『;』, 『asm』 or 『__attribute__』 before ........
有時候我們編譯一個大的項目的時候,會出現很多錯誤使得屏幕堆滿了很多無用的信息。一般情況下我們需要找到首次出現錯誤的地方,在gcc中添加編譯選項可以使編譯停止在第一次出現錯誤的地方:
$ gcc -Wfatal-errors foo.c // GCC 4.0 and later$ g++ -Wfatal-errors foo.cpp
$ g++ -fmax-errors=N foo.cpp // 在出現第 N 此錯誤的時候停止編譯,GCC 4.6 and later