oral_quiz->#把一个数字字符串转换成整数#

#include <stdio.h>

int StrToInt(const char* &string) {
 if(string == NULL) return 0;
 int number = 0, sign = 1;
 if(*string == 45) sign*=-1;
 while(*string != 0) {
 if(*string >= 48 && *string <= 57 )	number = number * 10 + *string -'0';
 ++string;
 }
 return sign*number;
}


int main() {
 const char* str = "-271Initial&*36中文";
 printf("%d", StrToInt(str));
 return 0;
}

待解决:
int: 4 byte, range: -2147483648, 2147483647
需要考虑上下限溢出

输入的字符串不能转换成整数(暂时没发现什么字符串不能转整数的)



你可能感兴趣的:(oral_quiz->#把一个数字字符串转换成整数#)