itoa、atoi

来源:互联网 发布:在职软件工程硕士2018 编辑:程序博客网 时间:2024/05/21 22:45
#include <stdio.h>#include <string.h>char *itoa(int num, char *str, int index){    int isNegative, len;    char tmp;    char *tail = str, *head = str;    if ((isNegative = num) < 0)    {        num = -num;    }    do    {        *tail++ = num % index + '0';        num = num / index;    }while(num > 0);    if (isNegative < 0)    {        *tail = '-';        *(tail + 1) = '\0';    }    else    {        *tail = '\0';        tail--;    }        len = strlen(str);    for(int j = 0; j < len/2; j++)    {        tmp = *head;        *head++ = *tail;        *tail-- = tmp;    }    return str;}int main(int argc, char argv[]){       int num;    char str[100];    printf("input a integer number:\n");    scanf("%d", &num);    printf("int=%d, str=%s\n", num, itoa(num, str, 10));    return 0;}
#include <stdio.h>  #include <string.h>  int atoi(char *str)  {      int sign = 1, val = 0;    char *s = str;    if (*s == '-')      {          sign = -1;         s++;    }      while(*s != '\0')    {        val =val*10 + (*s - '0');        s++;    }    return val*sign;  }  int main(int argc, char argv[])  {         int num;      char str[100];      printf("input a string:\n");      scanf("%s", str);      printf("str=%s, str=%d\n", str, atoi(str));      return 0;  }  


0 0
原创粉丝点击