❶ ,编译时会出现编译错误的是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