c语言基础相关问题,大家进'''

来源:百度知道 编辑:UC知道 时间:2024/05/20 02:28:31
有以下程序语句,不正确的是()
char a,b,c,*d
A.a='56';
B.b='\xbc';
C.c='\0xab';
D.d="\0127";

本人基础不是很好,不明白BC答案有什么区别??可以分析一下每个答案不?
大家好象被一楼的大哥看错字母而说的话误解了吧.然后,里面没有字母o,是数字0!~~大家说的我都知道!~大家说答案选哪个啊??

C: \0 说明应该是8进制数,>>>>>特别对应楼主问题补充,赋值表示八进制是\零 \0,不是\o !<<<<< 因此这里后面 xab 不是8进制,是错的。

A:
a ='56' 虽然它是一个串,不合理,但是编译器会把a值等于最后一个字符。
相当于a='6';

答案应该是C;

===============================
还有反驳的么?。。!~

不同的编译器有不同理解,不过 BD应该都没问题,这是D打印出来就还是空的,AC不要这么写,

B答案只是一个字符串
C答案是指一个十六进制数,前缀0x指之后为十六进制数。

在前加有“oX”表示十六进制的数字
只加“o”的表示的是八进制