C语言定义的问题。。。。。

有以下定义语句,编译时会出现编译错误的是

A)char a='a';

B)char a='\n';

C)char a=082;

D)char a='\x2d'
选哪个,我觉得B或者C吧

C



082的0表示这个数是8进制数,8进制数的数值表示范围是0-7,而这个数却有个8,所以是个非法的八进制数。


B的'\n'是一个转义字符,ASCII码是10,相当于char a=10;

C 八进制中数字的范围为0-7

C)char a=082;

 error C2041: 非法的数字“8”(用于基“8”)