C语言学习笔记―08-02
2013-08-02 18:44
162 查看
练习2-3,编写函数htoi(s),把十六进制的字符串转换为整数值。
用gcc编译时要在末尾加上 -lm 选项,链接数学库,否则pow函数会报错。
本文出自 “タイムマシん” 博客,请务必保留此出处http://skyraker.blog.51cto.com/6443116/1263136
#include <stdio.h> #include <string.h> #include <math.h> #include <ctype.h> //测试用函数 int htoi(char s[]); // 函数原型 main() { printf("%d\n", htoi("0xffff")); } int htoi(char s[]) { int c = 0; int i = strlen(s) - 1; int copy_i = i; int di = 0; while (s[i] != 'x' && di <= copy_i) { if (isdigit(s[i])) c += (int)(s[i]) * pow(16, di); else c += ((tolower((int)(s[i])) - 87) * pow(16, di)); \\发现不是数字,转换为16进制值 i--; \\是i减减 di++; } return c; }
用gcc编译时要在末尾加上 -lm 选项,链接数学库,否则pow函数会报错。
本文出自 “タイムマシん” 博客,请务必保留此出处http://skyraker.blog.51cto.com/6443116/1263136
相关文章推荐
- 基于AST抽象语法树的SQL注入检测 (2) -- 每周小结(01-02~01-08) - .Little Hann
- 2017 ACM-ICPC 亚洲区(沈阳赛区)网络赛 - 02 04 05 08 12
- 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】08-基本运算
- APUE读书笔记-08进程控制(02)
- 17 - 02 - 08 计算机网络(29)(Cookie)
- Python基础—08-函数使用(02)
- tensorflow41《TensorFlow实战》笔记-08-02 TensorFlow实现深度强化学习-估值网络 code
- 08_02_Linux常用命令二
- 【C#基础】【语法02】课后作业题 01-08
- (原创)c#学习笔记08--面向对象编程简介01--面向对象编程的含义01--对象的含义02--方法
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术03--多态性
- 08-02-19>pe_xscan 增加Windows启动模式和对SuperHidden值检测和报告
- [bbk5364]第19集 - Chapter 08 - Handling Exceptions(02)
- 20170215C语言提升08_指针_02数组指针及指针数组及函数指针
- (原创)c#学习笔记08--面向对象编程简介01--面向对象编程的含义02--一切皆对象
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术04--对象之间的关系
- 系统学习javaweb-08-学习速查案例02
- 08、开源游戏-“胡子”开始游戏前02
- The related article about to recently study --2008,08,02
- 02_08 JSP内置对象之Web安全性及config对象