发布网友 发布时间:2022-04-23 08:37
共5个回答
热心网友 时间:2023-10-08 20:40
你的程序是没错的。
可以用字符型给整型赋值,但是就不能用整型给字符型赋值了(有可能会发生错误),在这里要考虑一种数据类型所能表示的范围,例如:char a;//a的表示范围-127~128,
int b;//b的表示范围为-32767~32768
如果:a=100;
b=a;//a的值在int类型的表示范围之内,因此b=100
如果:b=1000;
a=b;//因为1000超出了char类型的表示范围,因此a!=1000,发生意想不到的错误
给你个建议,自己多用编程器进行调试,能加深理解的。
热心网友 时间:2023-10-08 20:41
可以把字符数赋给整形
但你的程序最后的语句不对 lamp1=lamp1+chuli[1];
这样会出现错误
你可以让他俩个相或 lamp1=lamp1 || chuli[1];
lamp1后8位为0哦
我在DS18B20中这样用过
热心网友 时间:2023-10-08 20:41
可以的。刚好昨晚我也这样做过,还用了keil试了下。
刚试了用a||b的结果a变成0x0001了
追问是啊,我用||的时候也是出错了,改用+就对了,不知道什么原因追答改天写个程序试试。
热心网友 时间:2023-10-08 20:42
C语言中,字符char还有一个意义就是ascII码值,所以
int
n
='c';
是把c的
ascII码值赋给n,
n
以后再去与
d等等比较
也是比较的是ascII码值.差异是:char表示的值应该全部能赋值给int,但是int的值却不能全部转化到char;原因应该就是(楼上的回答:):字符型占一个字节,而整型占两个字节
热心网友 时间:2023-10-08 20:43
整数的时候用int,int是有范围的,注意不要溢出,根据情况用long
int和short
int,字字符的时候用char,注意字符有对应的ASCII码,可以百度下ASCII码,望采纳