ch0=9是什么意思?

[复制链接]
查看11 | 回复2 | 2011-5-13 12:58:45 | 显示全部楼层 |阅读模式
charch[7]=\"12ab56\"
inti,s=0;
for(i=0;ch\'0\'=\'9\';i=i2)
s=s*10ch-\'0\';
printf(\"%d\\n\",s);

答案为什么为1呢?\'0\'\'9\'是什么意思?
回复

使用道具 举报

千问 | 2011-5-13 12:58:45 | 显示全部楼层
\'0\'\'9\'分别代表字符\"0\"和\"9\"这2个数字.对应的ASCII码是十进制数4857.\'a\'是97
ch[7]=\"12ab56\",ch[0]=\"1\",ch[1]=\"2\".一次类推
i=0时,ch[0]=1,满足ch\'0\'=\'9\',s=0*10\'1\'-\'\'0=1,此时i=2.
i=2时.ch[2]=a,不满足ch\'0\'=\'9\'所以,不进行s=s*10ch-\'0\';
之后,循环不在继续,执行printf(\"%d\\n\",s);,所以结果为1.









<h4class=\"ask\">追问


请问
判断时ch\'0\',是大于十进制数48,还是大于0?
计算时\'0\'是等于十进制数48还是等于0?
回复

使用道具 举报

千问 | 2011-5-13 12:58:45 | 显示全部楼层
按照字符的话,\'1\'\'0\',\'2\'\'0\'.
按照十进制的话,\'0\'代表十进制数48,所以ch\'0\'与ch48是等价的.
字符\'0\'是等于十进制数48


不好意思回答有点晚...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行