标题:这个函数哪错了,是一个16进制转成string型的,例如0xFE变成FE
只看楼主
wanghaoqoo
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-12-4
 问题点数:0 回复次数:1 
这个函数哪错了,是一个16进制转成string型的,例如0xFE变成FE

如0xFE转换成"FE".下面是我编的不指导哪错,编译不过
!各位帮忙改改.

#include"stdio.h"
char in_change(int num)
{
char ch;
int a=0xf;
char str[2];
int tmp=num&a;
while (tmp>0)
{
if (tmp<=0x09)
{
ch=tmp+(int)'0';
}
else
{
ch=tmp-0x0a+(int)'A';
}
num>>=4;
str[1-i]=ch;
}
return str;
}

void main()
{
int numb=0xfe;
printf("%s\n",in_change(numb));
}

[此贴子已经被作者于2006-12-27 15:08:20编辑过]

搜索更多相关主题的帖子: 进制 string 函数 
2006-12-27 12:57
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用wanghaoqoo在2006-12-27 12:57:03的发言:

如0xFE转换成"FE".下面是我编的不指导哪错,编译不过
!各位帮忙改改.

#include"stdio.h"
char in_change(int num)
{
char ch;
int a=0xf;
char str[2];
int tmp=num&a;
while (tmp>0)
{
if (tmp<=0x09)
{
ch=tmp+(int)'0';看看类型,还有数据是否会溢出.
}
else
{
ch=tmp-0x0a+(int)'A';
}
num>>=4;
str[1-i]=ch;
}
return str;
}

void main()
{
int numb=0xfe;
printf("%s\n",in_change(numb));
}



倚天照海花无数,流水高山心自知。
2006-12-27 21:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-112461-1-1.html




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

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