考察思維嚴謹 把字串轉換成整數

2021-08-25 16:47:25 字數 1055 閱讀 9133

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 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司...