| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖
标题:请教八进制换十进制的题目
只看楼主 加入收藏
文武两边随
Rank: 2
等 级:论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:5 
请教八进制换十进制的题目
程序是这样的 但有的地方还是不懂
main()
{
 char *p,s[6];
 int n;
 p=s;
 gets(p);
 n=*p-'0';
 while(*++p!='\0')
 n=n*8+*p-'0';
 printf("%d\n",n);


}
n=*p-'0'; 这句怎么理解?减个'0'是什么意思?这个'0'代表什么意思?
同理还有*p-'0'?
 有懂的帮忙解答下 ,谢谢了~~~
搜索更多相关主题的帖子: 八进制 十进制 
2009-07-25 08:31
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:0 
‘0’当然代表字符0,n=*p-‘0’代表n为*p与0在ACSII码中的差值,在ACSII码中0与1的差值刚好为1,即‘1’-‘0’=1

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2009-07-25 09:01
文武两边随
Rank: 2
等 级:论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
收藏
得分:0 
但是为什么要减呢?减去一个0等于没减吗?我知道八进制的数只有0~8之间 跟这个有关吗?
2009-07-25 09:17
DMS
Rank: 2
等 级:论坛游民
帖 子:54
专家分:48
注 册:2009-6-28
收藏
得分:10 
减0是为了把字符转化成数字,0的ACSII码为48
2009-07-25 09:19
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
收藏
得分:10 
回复 3楼 文武两边随
有关,这不是减去数字0而是减去字符0,明白?

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2009-07-25 09:19
文武两边随
Rank: 2
等 级:论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
收藏
得分:0 
我太蠢了......现在了解了 谢谢!
2009-07-25 09:38
快速回复:请教八进制换十进制的题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024052 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved