c语言 字符型长度问题,概念问题 10

charc=127;c=c+1;问c应该等于多少,然后当c=128,129,254,255,512,65535时,c+1等于多少,我知道结果,但不知道为什么,想知道为什么... char c=127;
c=c+1;
问c应该等于多少,然后当c=128,129,254,255,512,65535时,c+1等于多少,我知道结果,但不知道为什么,想知道为什么得这些数,越详细越好,谢谢
展开
 我来答
peachkun
2009-07-06 · TA获得超过883个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:209万
展开全部
字符时8位的,那么最前面的一位是符号位。
所以取值范围是:
-128--127
所以答案是:-128
也就是:10000000

c=128的时候:c+1 = -127

c = 129的时候:c+1 = -126

...

当C=255的时候,
C+1 = 100000000
此时越界了,那么C是八个字节,所以取八位:
c+1 = 0

所以大于255之后就只取低八位。
c=512
c+1 = 1
......
c=65535

c+1 = 0
海狮2D
2009-07-06 · TA获得超过3019个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:1017万
展开全部
你应该学习一下计算机基础,c的值就是最低的8位按照补码的数值。
另外就是c=127的127是一个int类型

关于
c=127
c=c+1

127换成二进制
0111 1111 (127)
+ 1
-------------
1000 0000 (-128)

c=255换成二进制
1111 1111 (-1)
c=254换成二进制
1111 1110 (-2)

建议你多看看基础
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
star7002
2009-07-06 · TA获得超过538个赞
知道小有建树答主
回答量:241
采纳率:33%
帮助的人:105万
展开全部
127时为:C_
但c值为129~254间时输出为 ?
超过254时输出为空
上面是我自己用VC6.0做出来的。

ASCII 只定义了128 个字符,其余的没有定义。是预留的。所以是打印不出来的。
(查到的,共同学习下。)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hebinanyou
2009-07-06 · 超过11用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:0
展开全部
因为一个无符号字节的最大值为255,所以ascii字符编号为0-255,超出这个范围将无效,当将256赋给一个字节变量时,将导致溢出错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式