比如:输入字符串“1234”,返回数字1234。 输入字符串“+1234”,返回数字1234. 输入字符串“-1234”,返回数字-1234. #includeint my_atoi(char s[10]){ int flag=1; //代表符号位的正负号 int ret=0; //用于存储取出来的数 char *p=s; if(*p=='-') { flag=-1; //如果输入的是负数,则先将符号位置为负号 } if(*p=='+'||*p=='-') { p++; //如果输入的第一位是符号位,则跳过它,指针指向下一位 } while(*p!='\0') { if((*p>='0')&&(*p<='9')) { ret=ret*10+*p-'0'; //*p-'0'指的是每一次取出来的那个数字 p++; } else //如果输入的不是数字,则指针指向下一位 p++; } return flag*ret; //取出的数与符号位(即flag=1或flag=-1)相乘}int main(){ int n; //最后要输出的对应的整数 char str10]; gets(str); //接收一个字符串 n=my_atoi(str); printf("%d\n",n); return 0;}