若有以下定义:char s='\092'; 则该语句().A:使s的值包含1个字符B:定义不合法,s的

若有以下定义:chars='\092';则该语句()。A:使s的值包含1个字符B:定义不合法,s的值不确定C:使s的值包含4个字符D:使s的值包含3个字求具体解释... 若有以下定义:char s='\092';
则该语句(
)。A:使s的值包含1个字符 B:定义不合法,s的值不确定
C:使s的值包含4个字符 D:使s的值包含3个字
求具体解释
展开
 我来答
wanglixin1001
2012-11-07 · TA获得超过4173个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:862万
展开全部
这个问题真的挺有意思的。\0oo是标志该字符是以八进制定义的。但如果o不是合法的数字(应该在0-7)之间,就会忽略这些数字,只取最后一位数字。
比如\092因为9不在有效范围,所以被忽略。上述定义就等价于char s = '2';
可以做个实验,char s='\095235235212';然后printf("%c",s);看看,一样输出2.
所以答案是A。
追问
答案给的是B
追答
但是编译器是能够通过的,而是s就是'2'。
答案给B应该就是因为9不是0-7之间的值,这个看您怎么理解吧。
是选择理论还是事实。
义飞兰P
2012-11-07
知道答主
回答量:11
采纳率:0%
帮助的人:1.7万
展开全部
选A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式