atoi函数实现

来源:互联网 发布:edna实时数据库下载 编辑:程序博客网 时间:2024/05/22 17:51
#include <stdio.h>#include <assert.h>int atoi(const char *str){int signal=1;int result=0;assert(str != NULL);if((*str>='0'&& *str<='9') || *str=='-' || *str=='+'){if(*str=='-' || *str=='+'){if(*str=='-'){signal=-1;}str++;}}else{return 0;}    while(*str!='\0'){char c=*str;if(c>='0'&& c<='9'){int temp=c-'0';result=temp+result*10;str++;}}return signal*result;}int main(void){//const char *str = "+12467";//12467//const char *str = "-12345";//-12345//const char *str = "";//0//const char *str = "+12345";//12345const char *str = NULL;printf("the result is:%d\n",atoi(str));return 0;}