鱼C论坛

 找回密码
 立即注册
查看: 1629|回复: 2

[已解决]关于 S1E10:关系运算符和逻辑运算符。课后作业有个小问题求教?

[复制链接]
发表于 2019-8-21 14:53:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. 请解释为何下边变量 a 的值为何打印出来是 144(请写出分析过程)?M
#include <stdio.h>

int main()
{
        unsigned char a, b, c;

        b = c = 200;
        a = b + c;

        printf("a = %u\n", a);

        return 0;
}
这道题我没有理解为什么会用二进制计算,char不是表示字符的么?
求各位大神指教
最佳答案
2019-8-21 16:19:03
char只是我们当做是字符,计算机只把它当成一个字节的数据,同样的int当成4个字节  short当成2个字节的数据
400一个字节放不下了  但是就读一个字节  所以是那个结果  就好像5+7 但是结果只要一位  那就只给你个位数2  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-21 15:19:39 From FishC Mobile | 显示全部楼层
本帖最后由 jackz007 于 2019-8-21 15:27 编辑

      在 C 语言里,char 代表单字节(8位)变量,其表达范围是 -128 ~127,unsigned char 的表达范围是 0 ~ 255。
      当然,char 与字符之间也是有关系的,在计算机中,用来表示字符的 ASCII 码的数值范围是 0 ~ 127,恰好适合用 char 类型变量来进行表达。例如,字符 'a' 的 ASCII 码是 65,字符 '2' 的 ASCII 码是 50,等等。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-8-21 16:19:03 | 显示全部楼层    本楼为最佳答案   
char只是我们当做是字符,计算机只把它当成一个字节的数据,同样的int当成4个字节  short当成2个字节的数据
400一个字节放不下了  但是就读一个字节  所以是那个结果  就好像5+7 但是结果只要一位  那就只给你个位数2  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-4 05:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表