C语言问题:如何把一个字符转换成字符串(最好是字符数组)?
发布网友
发布时间:2022-05-20 08:23
我来回答
共3个回答
热心网友
时间:2023-10-14 09:29
楼上的两位写法有点冗余,也没有注释。
给你一个简洁的并带上解释,相信会对你理解有帮助。
#include<iostream>
using namespace std;
void main()
{
char ch1='a'; /*是字符*/
char k[5]={"sj"}; /*字符数组*/
char p[2]={ch1}; // 将单个字符转换为字符串数组,注意长度应为2
// 因为语言实现会在字符串尾部自动加上字符串结束符'0/'
// 但有效字符串长度仍然为1, 即strlen(p)的结果为1
// 但使用sizeof(p)则是求p的内存大小(字节),则应为2
cout<<strcat(k, p)<<endl; // 将合并后的结果输出显示,此时k中内容为{"sja"}
}
输出结果为:
sja
热心网友
时间:2023-10-14 09:29
#include<stdio.h>
#include<string.h>
void main()
{
char ch1;
char k[5]={'s','j'},p[2]={NULL};
ch1='a'; /*是字符*/
p[0]=ch1;
p[1]='\0';
strcat(k,p);
printf("%s",k);
}
热心网友
时间:2023-10-14 09:30
#include<stdio.h>
#include<string.h>
void main()
{
char p1='d';
char p2[4]="abc";
char p[2];
p[0]=p1;
p[1]='\0';
strcat(p2,p);
printf("%s\n",p2);
}