| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 582 人关注过本帖
标题:高手来给我解决下!
取消只看楼主 加入收藏
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
结帖率:86.21%
收藏
 问题点数:0 回复次数:1 
高手来给我解决下!
程序代码:
#include <stdio.h>
int main(void)
{
  char *p,s[6];
  int n;
  n=0;
  p=s; /*字符指针p指向字符数组s*/
  printf("输入你要转换的八进制数:\n");
  gets(p); /*输入字符串*/
  while(*(p)!='\0') /*检查指针是否都字符数组结尾*/
  {
    n=n*8+*p-'0'; /*八进制转十进制计算公式*/
    p++; /*指针后移*/
  }
  printf("转换的十进制是:\n%d\n",n);
  return 0;
}
这里面的n=n*8+*p-'0'是什么意思啊?
为什么要减'0',不减结果不对,干嘛要减?
搜索更多相关主题的帖子: color 
2011-01-03 14:59
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:0 
回复 2楼 御坂美琴
那直接写0为什么不行?要写‘0’?
2011-01-03 17:05
快速回复:高手来给我解决下!
数据加载中...
 
   



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

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