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
}