c语言基础——每日一题(2)

题目:编写函数 Htoi(s),把由十六进制数字组成的字符串(包含可选的前缀 0x或0X)转换为与之等价的整型值。字符串中允许包含的数字与字符包括:0-9、a-f以及A-F。

int Htoi(char s[])
{
	int htoiI=0, htoiJ=1,htoiS = 0,htoiJudge=0;
	for (htoiI = 0; s[htoiI] != '\0'; htoiI++)
	{
		;
	}
	htoiI--;

	while(htoiI >= 2)
	{
		htoiJudge = s[htoiI];
		if (htoiJudge >= 48 && htoiJudge <= 57)
		{
			htoiS += (htoiJudge-48) * htoiJ;
		}
		else if (htoiJudge >= 65 && htoiJudge <= 70)
		{
			htoiS += (htoiJudge-55) * htoiJ;
		}
		else if (htoiJudge >= 97 && htoiJudge <= 102)
		{
			htoiS += (htoiJudge - 87) * htoiJ;
		}
		else
		{
			printf("运算出错");
			break;
		}
		htoiJ *= 16;
		htoiI--;
	}
	return  htoiS;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dudu hare

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值