C语言中, 已知char ch; 则错误的赋值语句是( ) A.ch='\0'; B.ch='1'+'2'; C.ch='a+b'; D.ch=10+5; WHY

 我来答
LinuxCrazyBoy
2011-05-24 · TA获得超过107个赞
知道答主
回答量:44
采纳率:0%
帮助的人:50.3万
展开全部
char本质上是个1byte的int类型。所以整数都可以赋值char变量(当然浮点也可以,只是会被截断)。

另外字符常量对于计算机来说也是个整数,这个整数就是这个字符对应的ascii值。

所以 字符,整数(浮点数)都可以赋值给char

本题 C是错误的。
1. 'a+b'这个表达式不合法(虽然有的编译器也能编译过,且截取最后的b作为ch的值)
2. 如果把'a+b'改成"a+b"那就更不对了,"a+b"的类型是char *,不能赋值给char
471003247
2011-05-24 · TA获得超过343个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:145万
展开全部
您好,这道题考察的是char数据类型的存储方式。
char字符按照ascii码进行存储,类似b中,是将1的ascii码和2的ascii码相加后存储,然后按照字符来输出。在我的编译器上,都可以通过,其实个人对c这个选项还是比较疑惑的。
c选项中,按照从右往左的存储顺序来说,是只能将b存储的,所以ch=b;
这道题其实没有正确答案,选择的话就选c吧

//if any question ,call me back!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式