c语言实现atoi函数功能,同时是力扣的第8题
int myAtoi(char * s){
int len = strlen(s),i = 0,flag=1;
long long m=0;
if(*s==NULL) return 0; //为空判断
while(s[i]==' ') i++; //去除空格
if(s[i]=='+')i++;
else if(s[i]=='-'){ //判断符号位
flag = -1;
i++;
}
if(s[i]-'0'>=0&&s[i]-'0'<=9){
while(s[i]-'0'>=0&&s[i]-'0'<=9){
m = m*10+s[i]-'0';
if(m>pow(2,31)) break; //防止太大溢出,一旦稍有溢出直接跳出
i++;
}
m = flag*m;
if(m>pow(2,31)-1) return pow(2,31)-1;
if(m<-pow(2,31)) return -pow(2,31); //上下界溢出表示
return (int)m;
}
else return 0;
}