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

比如:
ch1='a'; /*是字符*/
k[5]={"sj"}; /*字符数组*/
要求:把字符a转换成一个新的数组 p[2]="a",然后利用strcat(k,p),把'a'接到sj后面,使k[5]={"sja"}.
只要能把字符a能接到k[5]后面就行!也可以不用strcat函数!

楼上的两位写法有点冗余,也没有注释。
给你一个简洁的并带上解释,相信会对你理解有帮助。
#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
温馨提示:答案为网友推荐,仅供参考
第1个回答  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);
}
第2个回答  2009-04-06
#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);
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网