C语言中如何将数字变成字符串啊?

Python016

C语言中如何将数字变成字符串啊?,第1张

C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。用itoa()函数将整数转换为字符串。

itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数。在上例中,转换基数为10。

#include <stdio.h>

int main()

{

int a[4]={1,2,3,4}

char b[4]

for(int i=0i<4i++)

b[i]=a[i]

for(int i=0i<4i++)

printf("%c",b[i])

return 0

}

字符串在存储上类似字符数组

它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。

两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

以上内容参考:百度百科-字符串

char str[100]

int n=123

sprintf(str,"%d",n)//库函数

printf("%s",str)

下面是

#include<stdio.h>

#include<string.h>

int main()

{

int n,k=0

int num[50]={0}

char str[50]={'\0'}

scanf("%d",&n)

while(n)

{//先将n的各个位上的数取出,放入(int)数组num中

num[k]=n%10

n/=10

k++

}

for(int j=0,i=k-1i>=0j++,i--)

{//num[i]+'0'->强制转换(char)

// 然后存入(char)数组str中

str[j]=(char)(num[i]+'0')

}

str[k]='\0'//尾部加个结束符,可以整串输出

printf("%s\n",str)//整串输出

for(int i=0i<strlen(str)i++)//单个输出

printf("%c ",str[i])

return 0

}