c语言 字符串合并
答案:5 悬赏:40 手机版
解决时间 2021-02-10 10:02
- 提问者网友:活着好累
- 2021-02-09 17:12
AAAABBBBBBBCC合并成AAAABBBBBBCC怎么做?用strcat函数做、、、
最佳答案
- 五星知识达人网友:行雁书
- 2021-02-09 18:11
#include <stdio.h>
#include <string.h>
main()
{
char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//字符合并函数
puts(strDes);
puts(strSor);//打印合并后的字符串。
}
#include <string.h>
main()
{
char strDes[N]= "kkkjdah", strSor[N]="sdasdaaa";
strcat(strSor,strDes);//字符合并函数
puts(strDes);
puts(strSor);//打印合并后的字符串。
}
全部回答
- 1楼网友:人间朝暮
- 2021-02-09 22:06
#include <string.h>
main()
{
char d[20]="AAAA";
char *s1="BBBBBBB";
char *s2="CC";
strcat(d,s1);
strcat(d,s2);
printf("%s",d);
return 0;
}
- 2楼网友:舊物识亽
- 2021-02-09 21:35
看好
char a[]="AAAA";
char b[]="BBBBBBB";
char c[]="CC";
strcat(a,b);//第一次把b[]的加到a[]中
strcat(a,c);//第二次再把c[]的加到a[]中,a[]就是所要的结果了
- 3楼网友:神鬼未生
- 2021-02-09 20:26
你的程序功能是否是将给定的字符串中的字符‘*’去掉?
void fun(char *a) //字符指针做参数,可以使用字符串。
{
int i=0,j=0;
while(a[i]) //取出第i个字符,序号不为0执行,也就是不为字符串的结尾。
{
if(j==0&&a[i]!='*')
{
j=i+1;
}
else if(a[i]!='*')
{
a[j]=a[i];
j++;
}
i++;
}
a[j]=0;
}
- 4楼网友:街头电车
- 2021-02-09 19:17
////////// 如果通过一个地址返回呢?该怎么处理啊?
#include<stdio.h>
#include<string.h>
#define M 3
#define N 30
void fun(char a[M][N], char *b)
{
for (int i = 0; i< M; ++ i ){
strcat( b, a[i]); // 这样子使用.
}
}
int main(int argc, char ** argv )
{
char w[M][N]={"AAAA","BBBBBBB","CC"}, a[100];
int i ;
printf("The string: \n");
for(i=0; i<M; i++){
printf("w[%d] = [%20s] \n", i, w[i]);
}
printf("\n");
//bzero(a, sizeof(a));
memset(a,0, sizeof(a));
fun(w,a);
printf("The A string: ---------> \n");
printf("a = [%30s]\n",a);
return 0;
}
////////////////////////////// 为什么结果出现错误 无法运行??
// 因为 b 没有给它申请内存, 是个未定义的指针. 肯定会出错.
// 用 strcat 时, 一定要确保, 目标内存的大小有足够的空间存放合并后的字符串.
// 如果空间太小, 就会出现内存溢出.
#include<stdio.h>
#include <string.h>
int main( int argc, char ** argv )
{
char *b = NULL;
char a[3][20]={"AAAA","BBBBBBB","CC"};
int len = strlen(a[0]) + strlen(a[1]) + strlen(a[2]) + 1 ; //目标字符串长度.
b = (char *)malloc( len ) ;
memset(b, 0, len); // 清0 ;
strcat(b,a[0]);
strcat(b,a[1]);
strcat(b,a[2]);
printf("%s",b);
free(b); // 要记得 free 哦.
b = NULL;
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯