c语言中‘z+4’所代表的ASCII码为多少

[复制链接]
查看11 | 回复4 | 2009-8-7 14:17:09 | 显示全部楼层 |阅读模式
'0'=0x30'1'=0x31'2'=0x32'3'=0x33'4'=0x34'z'=0x7A'+'=0x2B在VC6.0下测试,结果很有意思int m='01';//m=0x3031int m='012';//m=0x303132int m='0+1';//m=0x302B31int m='z+4';//m=0x7A2B34但是如果定义int m='12345',就会报错“error C2015: too many characters in constant”。从以上可以看出,形如int m=‘ABCD';这样的格式(注意是单引号,不是双引号,双引号就是字符串了),VC6.0的编译器...
回复

使用道具 举报

千问 | 2009-8-7 14:17:09 | 显示全部楼层
‘z’+4 代表 ~ (~的aciss是126, z的是122)‘z+4’ 代表 4 (依次覆盖前面一个字符 所以就是最后一个字符,这个可以算是C里面的一个常识。。。对C了解深入一点点的人应该都知道的。。。)...
回复

使用道具 举报

千问 | 2009-8-7 14:17:09 | 显示全部楼层
z是122z+4 = 126 char a = 'z+4'不是字符串,编译器把它看作是一个整型,a的ascII码是52char a = ‘b+4’ascII码也是52,char a = ‘b+5’ascII是53。...
回复

使用道具 举报

千问 | 2009-8-7 14:17:09 | 显示全部楼层
'z+4'是字符串'z'+4是两者的ascii码相加...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行