| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1305 人关注过本帖
标题:关于16进制化为十进制问题,
取消只看楼主 加入收藏
四眼罗
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-5-19
收藏
 问题点数:0 回复次数:1 
关于16进制化为十进制问题,
#include <stdio.h>
#define li 1
#define wai 0
main()
{int c,i=0;char s[1000];
unsigned double x;
while((c=getchar())!='\n')
{s[i]=c;i++;}
i--;
x=hoti(s);
printf("%u\n",x);
}
int hoti(char s[])
{int i,a,b,c=0;
i=0;
if(s[i]=='0')
{i++;
if(s[i]=='x'||s[i]=='X')
i++;
}
a=li;
for(;a==li;i++)
{if(s[i]>='0'&&s[i]<='9') {b=s[i]-'0';i++;}
else if(s[i]>='a'&&s[i]<='f') {b=s[i]-'a'+10;i++;}
else if(s[i]>='A'&&s[i]<='F') {b=s[i]-'A'+10;i++;}
else a=wai;
if(a==li) c=16*c+b;
}
return c;
}




程序如上述,为什么总是输出01?不明白啊~

郁闷,花了好久写完的……都没反应
搜索更多相关主题的帖子: 进制 
2008-11-25 15:22
四眼罗
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-5-19
收藏
得分:0 


没人理我……

5555555
2008-11-26 12:00
快速回复:关于16进制化为十进制问题,
数据加载中...
 
   



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

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