C语言问题:如何把一个字符转换成字符串(最好是字符数组)?

比如:ch1='a';/*是字符*/k[5]={"sj"};/*字符数组*/要求:把字符a转换成一个新的数组p[2]="a",然后利用strcat(k,p),把'a'接到... 比如:
ch1='a'; /*是字符*/
k[5]={"sj"}; /*字符数组*/
要求:把字符a转换成一个新的数组 p[2]="a",然后利用strcat(k,p),把'a'接到sj后面,使k[5]={"sja"}.
只要能把字符a能接到k[5]后面就行!也可以不用strcat函数!
展开
 我来答
confuciuskg
2009-04-06 · TA获得超过1285个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:274万
展开全部
楼上的两位写法有点冗余,也没有注释。
给你一个简洁的并带上解释,相信会对你理解有帮助。
#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
匿名用户
2009-04-06
展开全部
#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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科技鸟
2009-04-06 · TA获得超过1251个赞
知道小有建树答主
回答量:865
采纳率:0%
帮助的人:0
展开全部
#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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式