//注意各种情况
//1.输入字符
//2.只输入正负号
//3.溢出
//4.空格
//5.指针为空
//6.字符串为空
#include<stdio.h> #include<stdlib.h> #include<assert.h> //static int fg = 1; //int atoi(char *p) //{ // long long sum = 0; // char *s = p; // int flag = 1; // while(*s == ' ') // s++; // if (*s == '-'||*s=='+') // { // if (*s == '-') // flag = -flag; // s++; // } // while (*s != '\0'&&s!=NULL)//空指针判断 // { // if (*s >= '0'&&*s <= '9') // { // sum = sum * 10 + flag*(*s - '0'); // fg = 0;//判断是否只有正负号 // } // else // { // fg = 1; // sum = 0; // break; // } // if ((flag==-1&&sum<(unsigned)0x80000000) ||(flag==1&& sum>0x7fffffff)) // { // fg = 1; // sum = 0; // break; // } // s++; // } // return (int)sum; //} //int main() //{ // char s[30] = " -"; // int ret=atoi(s); // if (fg == 1) // printf("error\n"); // else // printf("%d\n", ret); // system("pause"); // return 0; //}