首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

atoi跟itoa的编程实现

2013-09-28 
atoi和itoa的编程实现前言前几天博主在新浪微薄上看到耗子叔叔考察了atoi的编写,周四博主也要面试阿里(ps:

atoi和itoa的编程实现
前言前几天博主在新浪微薄上看到耗子叔叔考察了atoi的编写,周四博主也要面试阿里(ps:虽然博主LNMP方向,但是还是有信心拼一把),这里也自己实现一下这两个函数,防止面试问到答不出来
atoi

#include <stdio.h>#include <stdlib.h>#define N 15/** * 异或交换两个数 */void swap(char *a, char *b){if (*a != *b) {*a = *a ^ *b;*b = *a ^ *b;*a = *a ^ *b;}}/** * 编程实现windows平台整型转字符串代码 */void itoa(int value, char *str){int i, j, k;// 处理负数if (value < 0) {str[0] = '-';value *= -1;} else {str[0] = '+';}for (i = 1; value; i ++, value /= 10) {str[i] = value % 10 + '0';}// 字符串逆序for (j = 1, k = i - 1; j <= k; j ++, k --) {swap(str + j, str + k);}// 补字符串结束标识str[i] = '\0';// 正数前移一位if (str[0] != '-') {for (j = 1; j <= i; j ++) {str[j - 1] = str[j];}}}int main(void){int value;char str[N];while (scanf("%d", &value) != EOF) {itoa(value, str);printf("%s\n", str);}return 0;}


热点排行