首页 > 其他分享 >2-3 编写函数 htoi(s),把由十六进制数字组成的字符串(包含可选的前缀 0x 或 0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f 以及 A~F

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

时间:2023-07-22 19:55:51浏览次数:33  
标签:tmp 数字 包含 int htoi char 字符串 前缀

Archlinux

GCC 13.1.1  20230429

2023-07-22 19:48:23 星期六

 


点击查看代码
#include<stdio.h>
#include<ctype.h>

int htoi( const char *s );

int main()
{
    char arr[4] = "0x3A";
    int result = htoi(arr);

    printf("%d\n", result);



    return 0;
}



int htoi( const char *s )
{
    int i, out;

    i = out = 0;

    //处理前缀
    if( s[0] == '0' && ( s[1] == 'x' || s[1] == 'X') )
        i = 2;

    //处理字符串
    while( s[i] != '\0' )
    {
        int tmp = 0;
        char c_tmp = s[i];

        if( isdigit(c_tmp) ){
            tmp = c_tmp - '0';
        }
        else if( c_tmp >= 'A' && c_tmp <= 'F' ){
            tmp = c_tmp - 'A' + 10;
        }
        else{
            puts("字符非法!");
        }

        out = out * 16 + tmp;
        ++i;
    }

    return out;
}

 


运行截图:

image

0x3A的十进制数是58,输出正确。

 


小白刚学习C语言,代码质量不高,欢迎评论。

标签:tmp,数字,包含,int,htoi,char,字符串,前缀
From: https://www.cnblogs.com/yuwu/p/17574121.html

相关文章

  • CSS2.1规范笔记——9.1 视觉格式化模型(视口和包含块)
    视觉格式化模型视觉格式化模型:对于可视化媒体,用户代理怎样处理文档树。在视觉格式化模型中,文档树中的每个元素根据其盒模型生成0或多个盒。这些盒的布局由以下因素控制:盒尺寸与类型定位方案(常规流、浮动与绝对定位)文档树中元素间的关系外部信息(例如视口大小、图片的固有尺寸......
  • 智能工厂:智能制造数字化转型解决方案
    数字化已经成为制造业发展的必由之路。要提高生产效率和管理水平,就需要提高对生产运维各环节的数据采集、处理和利用效率。当前工厂的数据采集仍存在诸多不足,可以利用具有多种设备接入能力、通信协议转换能力、数据通信能力、控制维护能力的工业智能网关,助力工业制造向数字化、智......
  • python 字符串,取前4个
    Python字符串-取前4个导言Python是一种简单易学、功能强大的编程语言,被广泛应用于不同领域的开发和数据处理任务中。字符串是Python中的一种基本数据类型,用于表示文本和字符序列。本文将介绍如何在Python中取字符串的前4个字符,并给出相应的代码示例。字符串的基本概念......
  • python 字符串 不在数组中
    如何判断一个字符串不在数组中引言本文将教会你如何判断一个字符串是否不在数组中。在Python中,我们可以使用循环结构和判断语句来完成这个任务。首先,我们来整理一下实现该功能的流程,然后逐步介绍每一步需要做什么,以及需要使用的代码和其注释。流程概述步骤描述步骤1......
  • python 正则 字符串包含
    Python正则表达式:字符串包含简介在开发过程中,我们经常需要查找、匹配和操作字符串。Python提供了一种强大而灵活的工具——正则表达式(RegularExpression),它可以帮助我们快速而准确地检索和处理字符串中的信息。本文将介绍如何使用Python中的正则表达式来判断一个字符串是否包含特......
  • tivation Service 通信时出现严重错误。该进程 ID 为“XXXX”。数据字段包含错误号。
    困扰我大半年的错误,今天偶然间被解决了,特此分享给被同样问题纠结的朋友们!之前的求助帖,无人应答:http://www.cnblogs.com/freeton/archive/2012/08/28/2660585.htmlhttp://bbs.csdn.net/topics/391988642症状日志中大量报错,IIS严重错误,此类错误默认情况下5分钟连续出现5次会......
  • 文心千帆:PPT 制作、数字人主播一键开播等数十种应用场景惊艳到我了,下面给出简介和使用
    文心千帆:PPT制作、数字人主播一键开播等数十种应用场景惊艳到我了,下面给出简介和使用指南,快去使用起来吧文心千帆大模型平台是面向企业开发者的一站式大模型开发及服务运行平台。文心千帆不仅提供了包括文心一言底层模型(ERNIE-Bot)和第三方开源大模型,还提供了各种AI开发工具和整......
  • python删除字符串指定字符串
    Python删除字符串指定字符串的方法介绍在Python中,我们经常需要对字符串进行处理和操作。其中一个常见的需求是删除字符串中指定的子字符串。本文将介绍如何使用Python实现删除字符串中指定子字符串的方法。流程下面是实现删除字符串指定字符串的步骤:步骤描述步骤一......
  • python删除文本中指定字符串
    如何使用Python删除文本中的指定字符串简介在编程中,我们经常需要对文本进行操作和处理。有时候,我们会遇到需要从文本中删除指定字符串的情况。本文将教你如何使用Python编程语言实现这一功能。操作步骤首先,让我们来看一下整个操作的步骤。下面的表格展示了每个步骤的简要说明:......
  • python输入字符串输出数字
    Python输入字符串输出数字在Python编程语言中,我们经常需要将字符串转换为数字。这个过程称为字符串转换或类型转换。在本文中,我们将探讨使用Python将输入的字符串转换为数字的不同方式,并提供相应的代码示例。为什么需要将字符串转换为数字在编程中,我们经常需要处理用户输入的数......