C语言中很基础的问题,求C语言大侠指点!!
我们知道,C语言中定义字符型变量的关键字是char,那这条语句:chara=100;它是什么意思呢?是将整型常量100赋值给字符型变量a吗?整型常量可以赋值给字符型变量吗...
我们知道,C语言中定义字符型变量的关键字是char,那这条语句:
char a = 100;
它是什么意思呢?是将整型常量100赋值给字符型变量a吗?整型常量可以赋值给字符型变量吗?
还有一个:十六进制数-0x1F为什么等于31而不等于-31?负号去哪儿了? 展开
char a = 100;
它是什么意思呢?是将整型常量100赋值给字符型变量a吗?整型常量可以赋值给字符型变量吗?
还有一个:十六进制数-0x1F为什么等于31而不等于-31?负号去哪儿了? 展开
2个回答
2015-09-24
展开全部
只要是变量都能装数字 只是有大小而已 100不超过char的范围 所以是可以的。
-0x1f的的编译器上是-31.
-0x1f的的编译器上是-31.
展开全部
第一问和第二问:
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,最好把全部代码贴上来,目前信息无法判断
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,最好把全部代码贴上来,目前信息无法判断
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询