C语言中很基础的问题,求C语言大侠指点!!

我们知道,C语言中定义字符型变量的关键字是char,那这条语句:chara=100;它是什么意思呢?是将整型常量100赋值给字符型变量a吗?整型常量可以赋值给字符型变量吗... 我们知道,C语言中定义字符型变量的关键字是char,那这条语句:
char a = 100;
它是什么意思呢?是将整型常量100赋值给字符型变量a吗?整型常量可以赋值给字符型变量吗?
还有一个:十六进制数-0x1F为什么等于31而不等于-31?负号去哪儿了?
展开
 我来答
匿名用户
2015-09-24
展开全部
只要是变量都能装数字 只是有大小而已 100不超过char的范围 所以是可以的。

-0x1f的的编译器上是-31.
百度网友fa09700
2015-09-24 · TA获得超过415个赞
知道小有建树答主
回答量:266
采纳率:85%
帮助的人:134万
展开全部
第一问和第二问:
char a =100;

它的意思就是给a赋值100.没有别的意思。
第三问:
整形当然可以赋值给字符变量,前提数据大小为255-0之间的,否则无意义。
理由是char可以当成一个字节大小的整形,数据大小只要不超过一个字节都是有意义的。
但是输出时候根据参数又是不同的。
printf("%d %c",a,a); 输出结果为:100 d
%d是整形形式输出,%c为字符型形式输出。
最后问:-31的16进制为0xFFFFFFFFFFFFFFE1(64位电脑的结算结果)
31的16进制为0x1F

至于你说的-0x1F,最好把全部代码贴上来,目前信息无法判断
追问

十六进制那个,那可以确定是教科书的问题了。

因为教科书上-0x1F换算成十进制是31。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式