字符串转化成整形与相互转化

时间:2021-04-26 17:52:25

http://apps.hi.baidu.com/share/detail/18560172

1。将十进制数字组成的串转化为一个整形数:

将储存最终结果的变量清零 
如果串中没有数字了,则算法结束,该变量储存的就是对应的数 
从串中取下一个数字(左->右) 
将变量*10,然后+步骤3中取得的数字 
goto step 2
代码实现:

#include <stdio.h>;
#include <assert.h>;

int _atoi(const char *src)
{
        int i=0;
        while( *src != '\0') {
                assert(*src >;= '0' && *src <= '9');
                i = i*10 + *src - '0';
                src++;
        }

        return i;
}

int main(int argc, char **argv)
{
        char src[24] = "123456";
        
        printf("%d\n",_atoi(src));
        
        return 0;
}


整型转换为字符串


#include<stdio.h> 
void main() 

   int k=12345; 
   char str[10]; 
   sprintf(str,"%d",k); 
   printf("%s",str); 
}

方法2:将整型数字换为字符串:

初始化字符串为空串 
如果整数为0就输出0,结束 
将当前整数除以10,得到余数和商 
将余数转换成一个字符,把该字符接到字符串尾部 
如果商!=0,把它当作新的整形数,repeat step 3~5 
将字符串中的字符按放入顺序逆序输出(跟堆栈道理一样)