永发信息网

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);//打印合并后的字符串。
}
全部回答
  • 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; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯