enum status;
int g_nstatus=kvalid;
int strtoint(const char* str)
g_nstatus=kinvalid;
long long num=0;
if (str!=null&&*str!='\0')
bool minus=false;
if(*str=='+')
str++;
else if(*str=='-')
str++;
minus=true;
if (*str!='\0')
num=strtointcore(str,minus);
return (int)num;
long long strtointcore(const char *digit,bool minus)
long long num=0;
while(*digit!='\0')
if (*digit>='0'&&*digit<='9')
int flag=minus?-1:1;
num=num*10+flag*(*digit-'0');
if((!minus&&num>0x7fffffff)||(minus&&num<(signed int)0x80000000))
num=0;
break;
digit++;
else
num=0;
break;
if (*digit=='\0')
g_nstatus=kvalid;
return num;
atoi函式與它有點差別。1、函式首先跳過字串前的空格,然後進行數的轉換。2、在轉換完成後,字串中如果包含額外的字元則直接跳過。3、如果轉換不成功,返回0。如果正溢,返回int_max;負溢,返回int_min
int atoi(const char *str) else else if(c == '+') else if(c!= ' ') }
++str; }
return int(sign * i); }
把字串轉換成整數
題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用作...
把字串轉換成整數
題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數 345。分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用...
把字串轉換成整數
題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數 345。分析 這道題儘管不是很難,學過 c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司...