C语言中的itoa和atoi函数的实现
itoa与atoi的代码实现:
int atoi(char *str) { char *p=str; switch(*p) { case '+': p++;break; case '-': p++;break; default: break; } if(!(*p>='0' && *p<='9')) { printf("format error"); return 0; } int result = 0; for(;*p!='\0';p++) { if(*p>='0' && *p<='9') result=result*10+ (*p-'0'); else { printf("format error"); return 0; } } if(*str == '-') result = -result; return result; } void itoa(int number,char *str) { char ch[100],*p=str; int sign=1,i; if(number<0) { sign=-1; number=-number; } for(i=0;number!=0;number/=10,i++) { ch[i]=number%10 + '0'; } if(sign==-1) *p='-'; i--; for(;i>=0;i--,p++) *p=ch[i]; *p='\0'; }