首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我在这本K&R c语言书练习2.3中遇到错误

在这本《K&R C语言》书的练习2.3中,你遇到的错误可能是指在编写代码时出现的问题。根据练习2.3的描述,这个练习要求你编写一个函数htoi,将十六进制字符串转换为对应的整数。

在编写这个函数时,可能会出现以下错误:

  1. 语法错误:检查代码中是否有拼写错误、缺少分号或括号不匹配等语法错误。这些错误会导致编译器无法正确解析代码。
  2. 逻辑错误:检查代码中的逻辑是否正确。例如,确保你正确地处理了各种输入情况,如空字符串、非法字符等。
  3. 数组越界:如果你使用了数组来存储字符串或其他数据,确保在访问数组元素时不会越界。例如,检查是否正确计算了字符串的长度,并在访问数组元素时不超过数组的边界。
  4. 数据类型错误:确保你使用正确的数据类型来存储和处理数据。例如,十六进制字符串应该转换为整数类型进行计算。

以下是一个可能的解决方案示例:

代码语言:txt
复制
#include <stdio.h>
#include <ctype.h>

int htoi(char hex[]) {
    int i = 0;
    int result = 0;

    // 跳过可能存在的0x或0X前缀
    if (hex[0] == '0' && (hex[1] == 'x' || hex[1] == 'X'))
        i = 2;

    // 逐个字符处理
    while (hex[i] != '\0') {
        int digit;

        if (isdigit(hex[i]))
            digit = hex[i] - '0';
        else if (isalpha(hex[i]))
            digit = tolower(hex[i]) - 'a' + 10;
        else
            return -1;  // 非法字符

        result = result * 16 + digit;
        i++;
    }

    return result;
}

int main() {
    char hex[] = "1F";  // 十六进制字符串

    int decimal = htoi(hex);

    printf("Hex: %s\nDecimal: %d\n", hex, decimal);

    return 0;
}

这个示例代码中的htoi函数实现了将十六进制字符串转换为对应整数的功能。它通过逐个字符处理字符串,并根据字符的类型计算对应的数值。最后,将所有数值相加得到最终结果。

请注意,这只是一个示例解决方案,你可以根据具体要求进行修改和优化。另外,腾讯云提供了丰富的云计算产品和服务,可以根据具体需求选择适合的产品。具体的产品介绍和链接地址可以在腾讯云官方网站上查找。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言入门经典书籍_C语言从入门到精通

第一章概览就把赤裸裸地惊艳到了,同样介绍C的历史及背景,却不是其他那样死板的陈列,语言精炼意赅,不需讲的 果断不讲,需要讲的一语中的,没有废话,一气呵成。恨自己当初学C看的不是这本。...总体上云巅工作室译得还算不错,但你依然会遇到一些拗口的句子,然而毕竟瑕不掩瑜,的总体质量摆在那里,看引进第六版时能不能译得更好些。 《啊哈C!...这本教材,初学者拿来学编程确实较易理解,但对C语言的把握会有一定偏差,慎读。而我们不妨暂且忽略其中的一些重大问 题,重新审视之。...C还没有统一标准的年代,78年K&R的第一版直接被广泛接受为C标准,其他号称是圣经的C语言书用词未免也太想当然了…… 圣 经就好比一件标准模板,国内外数不清的C教程都是参照K&R写的,一如大堆的浏览器都使用了...开讲知识点前先引导读者自己思考,猜猜这些东西是干啥的,甚至 时常让你站在编译器或者语言设计者的角度思考问题,这些做法很独特,让你从一开始就从很本质的层面去接触C;同时督促读者动脑,练习题有趣而简短,提示

3.1K31

C语言学习建议!8年编程开发经验

C语言学习建议: 1、阅读一本有意义又不失学习乐趣的 ——《C专家编程》 这本书描述了各种搞笑八卦的事,比如设计一个程序,检查楼道自动售货机中有没有可乐?冰不冰?...3、自选一本好教材 关于C语言学习的书籍实在太多,自选一本学习的书籍要万分慎重,慎重考虑之后进行选择: *《C语言大全第四版》很经典的一本 *《C+Traps+and+Pitfalls》学过一段时间...C语言后,读这本书对自己会有一定提升。...*《C程序设计语言这本书是C语言的发明者K&R出版的 小编只列举出这几本书籍作为入门参考,选择入门书籍的时候要结合自身考虑清楚,万一学着学着跑偏了,谁也帮不了你!...4、大量练习新手的C语言习题 网上有非常多简单的C语言练习题,下载下来不断练习反复练习。 5、数的类型,字符的类型的定义 一门语言的基础部分不过是一些关于数的类型,字符的类型的定义。

1.3K00
  • 漫谈C语言及如何学习C语言

    伟大的著名的无所不包的《K&R》开头部分就提到了,for其实可以通过while来完成,只不过for可以写的更简洁,言外之意,对于C语言for其实不是必要的。...建议选择几本非常经典的好书,仔细完整反复阅读几遍,“读百遍其义自现”。...C语言的朋友必备的两本书,比如《C专家编程》,专门用两三个章节详细介绍C语言中数组与指针的不同之处,这两本书某种程度上算是对K&R略过的地方做了详细补充,强烈推荐。...前面几本书或者稍显简略,或者专注某个特定专题,都不适合遇到问题时翻查。这本C语言参考手册》可以看作是C语言编程的《新华字典》,全面而权威。里面还涵盖了C99的内容,紧跟时代潮流。...这本书也可以百度文库搜到。这本书也比较值得读。

    13.1K31

    假如我是计算机系老师

    假如我是计算机系老师, 我会先让的学生先去读一下《编码:隐匿计算机软硬件背后的语言这本书, 搞明白一个个简单的逻辑门电路到底是怎么组成计算机的, 弄清楚计算机软件语言和硬件之间到底是怎么关联起来的...假如我是C语言老师, 我会让的学生去扔掉谭浩强的C语言 , 去好好看看K&R 合著的《C程序设计语言》, K&R 指的是两个人, 其中R 就是Dennis M.Ritchie -- C 语言发明人..., 所以应该看看下了C语言这个金蛋的“母鸡”所写的。...假如我是数据结构老师, 我会让的学生首选Sedgewick 和 Wayne合著《算法》这本书学习数据结构和算法, 这是一本极为优秀的入门, 有大量的图来展示算法, 比严蔚敏的《数据结构》好太多了,...假如我是编译原理老师,嗯,这门课挺难的, 实际项目中直接使用不是很多,但是一定要了解原理, 最著名的就是龙《编译原理》了。

    61730

    好文 | 如何系统学习C++?

    C++ 最大的缺点就是语法复杂,而且难学难精。 学习 C 语言也许一本 K&R 的《C程序设计语言》就够了,但是 C++ 世界里,找不到这样一本。...如内存管理、堆栈、链接这类 CC++ 中极其重要的概念。 《Linux多线程服务端编程》 这本书严格来说不是纯讲 C++ 的。...三、进阶 上面提到的这些重点在于如何使用、用好 C++ 这一个范畴。 而进阶,认为则是研究语言一些 case 的具体实现,深刻的思考语言设计和演进本身。 这里分为三个部分: Part1....四、关于书单 这篇文章中对于书籍,的一个原则就是能省则省,因为 C++ 相关的优秀书籍实在太多了,只想挑出每个阶段最有用的的不在多,贵在精。...看书也是一样的,推荐不一定都需要去看完,深入细致的阅读完一本技术比走马观花似的阅读 N 本更有效。 当然了,后面也会推出一份分门别类整理后的 C++ 书单供大家索引。

    2.4K30

    校招| C++ 后台开发学习路线

    C 语言 K&R 的《 C 程序设计语言》 《 C 和指针》 【中文资源】 学习 C 语言的时候不要进入死角,去纠结 i++++、++i,掌握基本的循环、判断、函数后就可以多写一些课后练习题,然后重点学习内存...看完之后会有恍然大悟的感觉,就是边看这本书的时候搭配着看侯捷老师的视频,当时的就是 边学边觉得 C++ 好厉害哈哈,而且对这个语言越来越感兴趣。...这也是为什么推荐学习一下 C++ 的原因啦~ 《Effective C++》 推荐这本书的原因有两个: 第一,这本书是在教你如何写好 C++,相当于教你走”捷径“,如果不看这本书,可能需要大量的编码踩坑才会领悟到这本书中的一些...《Effective Modern C++》 这本还没有时间看,这本书的侧重点在于 Modern,也就是如何用好 C++ 11 中的一些新特性。...这个时候推荐的是《mysql必知必会》。 看完这本书配合练习之后应该可以解答一些简单的问题。 就是类似以下这种的: 将这个班的学生按平均成绩进行排序,显示总排名和各科排名。

    1.4K41

    C语言很难吗?学习C语言基本思路与参考书籍

    这本书可以说是的启蒙读过,真心觉得好,所以推荐给需要的同学。 好了,接下来我们进入C语言的学习过程。...四、参考书籍 首先第一本,也是认为最重要的,是这本《计算机科学导论》。...说白了,就是一本科普。但是是一本伟大的科普。入门者的福音。 然后,第二本,就是关于C语言语法的书籍了,说实话这部份已经没有印象看的什么了。...最经典的C语言入门书籍许多人肯定要说是 K&R 的那本。但是其实这本书对大多数初学者来说还是略难,如果有兴趣也可以读一读。但我更建议你了解一些C语言之后再转过来看看会更好。...柴田望洋的《明解C语言》最近是一本广受欢迎的亲切的C语言入门。《明解C语言》 柴田望洋, 管杰, 罗勇【摘要 书评 试读】图书 昨天专门到书店翻了一下,这本书确实很不错,亲切,谦虚,易懂。

    3.8K20

    听说你是程序员,请问你知道龙、虎、鲸、魔法书、犀牛...指的是哪些么?

    2、《现代编译原理:C语言描述 》(虎) ? 《现代编译原理:C语言描述》修订版 在编译领域,“虎”和“龙”齐名。...”虎“的由来:第一版封面是一只老虎,因此也被人们叫做“虎”,本书使用的是更适合广大读者的C语言,而另外两本书分别采用ML语言和Java语言。 3、《高级编译器设计与实现》(鲸) ?...封面是一头犀牛,因此也叫犀牛 12、《JavaScript语言精粹》(蝴蝶) ? 这本书只有100来页,可以很快看完,故名“精粹 ”。...这几位作者常被称为"四人组(Gang of Four)",因此这本书也被称之为GOF 17、《C程序设计语言》( K&R) ? 我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。...原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书首次引入的。C程序设计语言由Brian W.

    4.1K20

    C语言的起源

    美国国家标准学会(American national standards institute,ANSI)1989年颁布了ANSI C的标准,后来语言的标准化成了国际标准化组织(International...这些标准定义了C语言和一系列函数库,即所谓的C标准库。Kernighan和 Ritchie在他们的经典著作中描述了ANSI C这本著作被人们满怀感情地称为“K8R”。...C语言的设计是由一个人而非一个协会掌控的,因此这是一个简洁明了、没有什么冗赘的设计。K&R这本书用大量的例子和练习描述了完整的C语言及其标准库,而全书不过261页。...C语言的简单使它相对而言易于学习,也易于移植到不同的计算机上。 C语言是为实践目的设计的。C语言是设计用来实现Unix操作系统的。后来其他人发现能够用这门语言无障碍地编写他们想要的程序。...C语言是系统级编程的首选,同时它也非常适用于应用级程序的编写。然而,它也并非适用于所有的程序员和所有的情况。C语言的指针是造成程序员困惑和程序错误的一个常见原因。

    2.3K00

    11位粉丝留言给我的11种入门Python与算法的方法

    对于算法,其实入门也是找工作的时候开始系统认真学习,刚开始看了大话数据结构,不过这本是伪代码,所以就换了 数据结构C++ 的版本,以及看剑指offer,配合刷Leetcode 的题目。...答 4 公众号粉丝:Gaieshow 其实Python入门很简单的,如果你有过C语言之类的语法基础的话就更好了,这样你会发现Python在编程语言的家族里是多么的优雅,你自然会爱上他。...答 7 公众号粉丝:伪装者 谈谈三年来大学的计算机算法方面的学习吧,希望对大家有点帮助,大学时就天天看算法,买了本《算法导论》,这本书是外国的,读了两遍,不是很了解,但是对帮助很大,对于不理解的算法...答 9 公众号粉丝:曙光 其实所有的书学习python都差不多,最主要的是学习python的基本语法,然后多写代码,最主要的心得就是多敲多练,培养自己解决问题的能力,只有各种练习各种错误中锻炼出一种自己解决问题的方法才是最重要的...想通过这本书提升自己的编码能力,逐渐上手剑指offer和leetcode! 请以上11位同学添加管理员微信(注明:送);感谢以上11位同学的用心总结,希望能帮助到更多的你们。

    61360

    C加加初学者需要看什么

    计算机基础的话下一步,没有就看《深入理解计算机系统》; 分享之前还是要推荐下自己的C/C++学习交流裙:三 四 三 八 九 一 三 六 五,不管你是小白还是大牛,小编都挺欢迎,不定期分享干货,包括自己整理的一份...《C++ primer plus》; 8。《C++ primer》;这本书每一页都要看,其它可以跳,但这本不行,其实对于计算机书籍来说,这一本只是有点厚,不算太厚啦; 9。...《C++模板元编程》 C++缺点之一,是相对许多语言复杂,而且难学难精。许多人说学习C语言只需一本K&RC程序设计语言》即可,但C++书籍却是多不胜数。是从C进入C++,皆是靠阅读自学。...++标准委员会的提案和报告、关于C++的学术文献。...由于我主要是应用C++,大约只停留于第二、三个层次。然而,C++只是软件开发的一环而已,单凭语言并不能应付业务和工程上的问题。

    1.6K90

    C&C++替代者Rust学习之道|Vol 17

    Rust目前定位是更安全的C++,增强的C。可以说是用来写基础架构比较友好的语言。如果后续有兴趣做高性能服务,可以学习一下Rust....其中前两本网上有大概的翻译,特别《Rust程序设计》 Rustlings也是针对这本教材的。 如果你也看了一些,但还是不知道Rust怎么写?...那么今天在给你们推荐一个好玩的项目:Rustlings https://github.com/rust-lang/rustlings 环境安装参考指导,这里用的macos安装: curl -L https..., a_2); } 通过这种小例子练习,基本能理解为什么rust是安全的。 Rustlings是针对官方教材《rust语言程序设计》做的专项训练,建议可以先阅读对应的章节,然后刷对应的题。...遇到问题再回看一下,这样效果非常不错。如果你刷的过程需要找到共同爱好者,也可以加到下面的群里,一同交流。

    37010

    C++ 标准 和 C 标准 (截止到2019年03月)

    Ritchie 和 Brian Kernighan 合作推出了《The C Programming Language》的第一版(按照惯例,经典著作一定有简称,该著作简称为 K&R),末的参考指南 (...Reference Manual) 一节给出了当时 C 语言的完整定义,成为那时 C 语言事实上的标准,人们称之为 K&R C。...【C95】 之后,ISO 1994、1996 年 分别出版了 C90 的技术勘误文档,更正了一些印刷错误,并在1995 年通过了一份 C90 的技术补充,对 C90 进行了微小的扩充,经过扩充后的...但在94和96年分别对c90进行了两次错误修正,gcc支持的是修正后的c89(90)版本的C语言规 范。95年提出过对90版规范的修订案,称为 C95或者AMD1。gcc也支持c95规范。...2001年对C99的错误进行了修正,gcc支持的修正后的c99规范,但是到目前为止,gcc还没有完成对c99规范的完全支持。

    88410

    赠书:300道面试宝藏题!

    想学python却不知如何入手,面对五花八门的入门教材不知如何选择 掌握基础知识但不成体系,遇到实战就一筹莫展 ...... 今天异步君要给大家大家推荐一本,仅204页,14章!...面试过程中,将对问题的了解有效地传达给面试官是很重要的。 关于编程语言的面试可能比较复杂,因此拥有坚实的基础非常重要。一个技术性的面试从一个简单的讨论开始,然后面试官会从不同的主题中随机向你提问。...她在软件领域有丰富的经验,并负责与Python、Java、CC++等语言和软件测试相关的项目。 作者根据多年工作经历,为四大人群贴身打造的Python通关指南!...02 这本书怎么学? 适合读这本书吗 本书适合有一定Python编程基础的人阅读,Python面试者、程序设计人员、Python编程爱好者以及高校毕业生均将从本书中获益。...动手编写实现代码对更好地理解题目十分重要,因此本书要求你能编程实现文中所有的练习。只有独立解决问题,你才能在面试中有效地解释解决问题的逻辑。准备Python面试时,只需要关注题目,其他的都不重要。

    25810

    零基础入门Python,值得推荐的几本书籍!

    第一个 个人认为《Python学习手册:第3版》是学习语言基础比较好的了....《Python学习手册(第3版)》让你对Python语言有深入而完整的了解,从而帮助你理解今后遇到的任何Python应用程序实例。...——Tim Wolters,CTO,Collective Intellect 第五个 其实觉得很多人也在看《Python核心编程:第2版》.自己看来,并不喜欢这本书....这本书的原的勘误表就有够长的,翻译时却几乎没有参考勘误表,把原的所有低级错误都搬进去了。这本书的原质量也并不好,的结构组织并不合理,不适合初学者阅读。...有人说,这本书适合进阶阅读,觉得也不尽然。这本书很多地方都写的欲言又止的,看得人很郁闷。

    1.4K100

    的编程生涯里启发的15本

    并且高中也是一个相当无聊的时期,除了为高考准备的考试,还有就是上课 《C++游戏开发》 有一些,你就没有必要去看了,比如这里的第一本C++游戏开发》,这本书是高中的时候翻了好几遍的 ?...这本书一直在说“C++是一门优雅的语言”,也介绍了很多之前编程中不懂的知识点:数组、指针,以及高级点的重载和继承这一些面向对象的知识。...换句话说,这样的和上一本一样,我们遇到瓶颈的时候是很有帮助的,相当于帮我们打开了另外一片天空。原本我们以为世界是这样的,后来我们意识到了世界并不是这样的,世界比我们想象中的要大。...当时写的语言基本上就是C、Python还有汇编,所以在当时并不特别懂,后面我们会继续说到。它给我的感觉就是,WOCAO,当年的C++连入门都算不上。虽然能看懂,但是一知半解。...主要是当时代码写得并不多,主要是博览群。 《领域特定语言》 DSL大法好,DSL大法真的是一个很棒的想法。 ? 它可以用更简洁的语言业表达你的想法。

    81970

    Go语言实战笔记(二十八)| Go 后记

    初衷 14年接触Go语言,是因为Docker,才开始去了解这门语言,入门很简单,比C语言更容易,并且性能也很高,所以就选择了这门语言作为的“C语言”,平时做一些辅助工作或者批处理的工具什么的,并没有花很大精力去学...为了更好的转,就开始继续深入学习Go(自己本身是Java系),自己熟悉了解后,转型也不至于太盲目,所以就买了些,这其中就包括《Go语言实战》,经典的Action系列。...学习的过程中,为了也让同事以及想学习Go的朋友们更好的入门和深入Go,所以我萌发了写这本书的读书笔记,结合自己的理解,用更通俗的语言,诠释书中的内容,并且引申讲解相关的知识点,让大家知其然,并且知其所以然...学习一门语言或者说新东西的时候,想的和实践的是不一样,在读这本书的时候有很深的这样的感触,以前的一些理解,真正的通过代码实践去验证的时候,发现和想的不一样,通过实践也不断的修正以前错误的理解,让对...收益 看不如练,练不如讲,对于我来说,只看一遍这本书,收益肯定没有现在。当你只看的时候,会想当然的理解,有时候理解是对的,有时候又是错的,这个只能通过代码示例的练习可以发现。

    51320

    自学编程。。。

    上培训班,似乎很直接,但是很费钱;自己找看,又不知道看哪些个人的建议是看书、上课、和实践相结合,三管齐下,缺一不可。 学编程最重要的就是要理论和实践想结合,两方面都需要兼顾好。...结合自身七年的学习经验以及针对当前社会的需求,给大家推荐三门编程语言C++/Java/Python)以及相关的书籍。 1)《C++ Primer》 ? 这是一本久负盛名的C++经典教程。...从Java的基础语法到最高级特性,这本书都可以指导你一步步的轻松的去理解和掌握!这本书小编大二学了一整年,学完之后真的完成了质的飞跃!亲身体验,非常推荐给大家!...近两年用的编程语言就是python。现在网络上对于python的教材真的是五花八门,内容过于重复和繁琐,对我们帮助并不大。关于这本可以很果断的说,这是世面上关于python最好的!...2)对于编程语言的学习,一定要多动手写代码,实战中掌握。而且C++/Java/Python掌握一门就够了。大同小异,当你精通一门语言之后,如果想要学习其他语言,就会非常的快。

    1.2K20

    改变了编码方式的五本

    The C Programming Language 这本书晦涩得难以置信。推荐用任何语言编写计算机程序的人至少读一次这本书。如果你打算学习C语言建议你把它读两到三遍,并做好所有的练习。...即使以C语言的标准来衡量,这种风格现在也已经非常过时了,但我想不出更好的介绍该语言的方法了。对来说,它开启了编写自己的音频软件的可能性。 ?...Learning Python 两次长途飞行中通过阅读这本书(第三版)学习了Python,没有参考笔记本电脑——它写得很好。...除了对C语言有基本的理解外,对Python有良好的掌握也是您需要掌握的一个有用工具。C语言是低级编程的首选语言,而Python非常适合编写快速脚本,而且它正在迅速成为事实上的机器学习语言。...撰写本文时,《学习Python》亚马逊畅销排行榜上排名第四。 ? The 7 Habits Of Highly Effective People 像“人月神话”一样,这不是一本关于编程的

    65420

    呕心沥血一个月,为小白新手准备的CC++ Linux求职版学习路线

    黑马C++笔记 公众号后台回复“笔记”,即可获得当初自己手敲的黑马C++课程练习。 关于看一些编程类视频的方法,以前也分享过自己是如何看视频的,感兴趣的可以看看。...当然了你如果有其余语言的基础就更好了。 在看这本书的时候记得不要跳过课后练习题,没必要每道题都要仔仔细细的做,但是每小节后的前2-3题绝对需要自己做一下。...知道还要一本《C++ Primer 5th》对应的练习题集,封面如下: 习题集 很多人都问我这本书有没有必要去买?私以为《C++ Primer 5th》课后的题就足够了。...第二本,也就是《C++ Primer Plus 第六版》适合小白选手,也就是没有任何语言基础的选手,封面如下: 这里应该是C++PrimerPlus 这本书是完全的小白向书籍,甚至可以说讲的太详细了...除此之外,建议你回归C++这门语言的本源,那就是再从头看一遍《C++ Primer 第五版》或者把它当做一本字典,就放在你的工位上,遇到不确定的当场翻。

    1.5K11
    领券