首先声明,我写博客很大程度是为了记录和分享我的编程之路,如果后来人是在百度上面搜到我的文章,动机不是为了知识本身,而是为了应付题目的话,我话摆在这里,借鉴可以,但是一定要转化成自己的知识,不要只抄,然后没弄懂,那还不如直接花钱请人帮你做了,我一直秉持的原则就是,你真不想干某件事,而这件事又在你看来是没有意义的话,倒还不如用钱解决,说白了就是用钱买时间,没有必要在一些对你没有意义的地方花过多时间,倒还不如用这么点时间去做一些更有意义的事情。
众所周知,C语言是一门很基础的入门语言,相对于python这些脚本语言的话,很多地方都会比较麻烦,需要自己手动来编,
但是,这恰恰就是打好编程底子很关键的时候,
高楼大厦如何搭的高还是要看原先的底子打的厚不厚实。
因此,面对这种整型转字符串的要求,虽然用脚本之类的函数可以一步到位,但是为了锻炼自己的能力,我自己还是尝试了编了下相关函数,
下面给出代码
方法1
代码语言:javascript复制#include<string.h>
#include<math.h>
int mi(int x) 计算10的幂次
{
int i=0,ans=1;
for(i;i<x;i )
{
ans=ans*10;
}
return ans;
}
int main()
{
int a=123465; a是要转化的整数
int n=a,count=0;
while(a!=0) 求出a的位数count
{
a=a/10;
count ;
}
int i=0,j=count;
char b[count];
for(i;i<j;i ) 这里我是正序添加字符的
{
b[i]=n/mi(count-1) '1'-1;
n=n%mi(count-1);
count--;
}
printf("%s",b);
}
用C语言进行这俩者的转化,不外乎就俩种思路,第一种就是我上面说的这种,先求出整数长度,然后就利用 b [ i ] = n / mi ( count-1 ) ‘1’ – 1; 从最高位依次取出数字,再转化成字符。
第二种就是先不计算整数长度,直接利用整除求余,倒序取出数字,即倒序存入字符数组,最后再将它们逆序,代码如下:
方法二
代码语言:javascript复制#include <stdio.h>
#include<string.h>
#include<math.h>
char* int_to_char(int a) 转化函数
{
char count=0,b[100];
while(a!=0) 逆序存入
{
b[count]=a '0';
a=a/10;
count ;
}
char c[100],i,j;
i=count-1;
j=0;
for(j;j<count;j ) 倒序
{
c[j]=b[i];
i--;
}
c[j]='