字符串与数字转换-C语言
2016-01-16 00:08
309 查看
字符串与数字转换-C语言
/** * by: 小林 * time: 2016-01-15 */ #include <stdio.h> #include <stdlib.h> #include <string.h> /*字符串转换为整数*/ int myAtoi(char *array) { int result = 0; char *p = array; if(*p == '-') { p++; } while(*p != '\0') // 遍历字符 { int i = *p-'0'; if(i>=0 && i<=9) // 判断字符的有效性,可能出现字母 { result = result*10 + i; } p++; // 指针后移 } if(*array == '-') { result = -result; } return result; } /*整数转换为字符串*/ void myItoa(int n, char *array) { int num = n; char *p = array; if(num < 0) // 负数处理 { num = -num; *p++ = '-'; } do // 用do-while是为了处理出现0 的情况 { *p++ = '0'+num%10; num = num/10; }while(num); *p = '\0'; int i=0, len = strlen(array); if(n<0) { i=1; len++; } for( ; i<len/2; i++) // 倒置字符串 { char ch = array[i]; array[i] = array[len-i-1]; array[len-i-1] = ch; } } int main(void) { char str[10] = "-1234"; int r = myAtoi(str); printf("%d\n", r); myItoa(9876, str); printf("%s\n", str); return EXIT_SUCCESS; }
运行结果
编译环境:Dev-C++
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法