实现字符串转化为整数函数atoi()函数
函数原型: int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符存在,并且,如果不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
代码:
#include<stdio.h> #include<stdlib.h> #include <cctype> int my_atoi(const char* p) { if(p==NULL) return 0; bool neg_flag = false; // 符号标记 int res = 0; // 结果 if(p[0]=='+'||p[0]=='-') neg_flag=(*p++!='+'); while(isdigit(*p)) res=res*10+(*p++-'0'); return neg_flag?0-res:res; } int main() { char a[] = "-100" ; char b[] = "123" ; int c ; c=atoi(a)+atoi(b) ; printf("a = %d\n", my_atoi(a)) ; printf("b = %d\n", my_atoi(b)) ; printf("c = %d\n", c) ; system("pause"); return 0; }