C语言中,如何将字符(char型)'7'转换成数字(int型)7,(还有相反的过程int转char),不能用任何库函数,要自己写,高手请回答

解决方案 »

  1.   

    char 和 int 互相转换?我想你指的应该是字符串和整数的互相转换吧!int atoi(char* ch){
       int result=0;
       while(ch!=NULL){
         result=result*10+ *ch-'0';
         ch++;
       }
    }
    itoa 有点复杂,我搜索到了一份
    #include <lib.h>
    /* Integer to ASCII for signed decimal integers. */PRIVATE int next;
    PRIVATE char qbuf[8];_PROTOTYPE( char *itoa, (int n));char *itoa(n)
    int n;
    {
      register int r, k;
      int flag = 0;  next = 0;
      if (n < 0) {
    qbuf[next++] = '-';
    n = -n;
      }
      if (n == 0) {
    qbuf[next++] = '0';
      } else {
    k = 10000;
    while (k > 0) {
    r = n / k;
    if (flag || r > 0) {
    qbuf[next++] = '0' + r;
    flag = 1;
    }
    n -= r * k;
    k = k / 10;
    }
      }
      qbuf[next] = 0;
      return(qbuf);
    }
       
      

  2.   

    char ch = '7';
    int nch = ch - '0';int n = 7;
    char chn = n + '0';