实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数

来源:互联网 发布:弹性矩阵和刚度矩阵 编辑:程序博客网 时间:2024/06/05 17:44
比如:输入字符串“1234”,返回数字1234。      输入字符串“+1234”,返回数字1234.      输入字符串“-1234”,返回数字-1234.                  #include <stdio.h>int 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;}


本文出自 “追寻内心的声音” 博客,转载请与作者联系!

0 0
原创粉丝点击