这个c语言题怎么做?

下面定义字符型变量ch的语句不正确的是()。A、charch=‘\X2A’;B、charch="c";C、charch=65;D、charch=NULL;... 下面定义字符型变量ch的语句不正确的是( )。
A、 char ch=‘\X2A’;
B、 char ch="c";
C、 char ch=65;
D、 char ch=NULL;
展开
 我来答
上海长英
2021-02-23 · 上海长英,自动化电气设计,软件编程。
上海长英
采纳数:1072 获赞数:22872

向TA提问 私信TA
展开全部
  1. A. char ch='\X2A' 错误

    \X2A 是4个字符,只能用一个字符 进行初始化赋值。

  2. B. char ch="c" 错误

    字符只能用单引号不能用双引号,双引号 是字符串,编译器自动在 后面加一个空字符'\0'

  3. C. char ch=65; 是正确的

    因为字符 对应的是其ASCII 码值 ,十进制的65对应的是字符 ‘A'

  4. D. char ch=NULL; 是正确的

    在C语言编译器中NULL被宏定义为0(#define NULL    0)

    0在ASCII码表中 对应的字符 就是'\0'

希望我的回答对你有所帮助,很高兴和你一起讨论和学习C语言。

arongustc
科技发烧友

2021-02-23 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5955万
展开全部
B,字符变量不能用字符串(双引号常量)初始化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_i快乐每一天i_
2021-02-24 · 超过22用户采纳过TA的回答
知道答主
回答量:122
采纳率:83%
帮助的人:5.9万
展开全部
B,字符不能用双引号初始化;
A的话其实是可以这样写的,但有的编译器只认\x小写的x,这种写法是转义字符,其后跟的是十六进制数,代表ch的ASCII码,比如ch='\x2A' 就是42,代表'*';
C同理,因为字符其实它的值都是用ASCII码存储的,比如ch='A',用int强制类型转换后的输出就是65;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式