「C语言」「算法」字符串拼接的多种模式

「C语言」「算法」字符串拼接的多种方式

 

「C语言」「算法」字符串拼接的多种模式「C语言」「算法」字符串拼接的多种模式
1 #include <stdio.h>
2 
3 int main(){
4     char str1[20]="Hello ";
5     char str2[20]="World!";
6     char str3[20];
7     puts(strcat(str1,str2));
8     return 0;
9 }
用字符串连接函数处理两个字符串的合并

 

「C语言」「算法」字符串拼接的多种模式「C语言」「算法」字符串拼接的多种模式
 1 #include <stdio.h>
 2 
 3 /*
 4 注:不允许使用字符串连接函数 
 5 编一个程序,输入3个字符串(长度均不超过20)存入一个二维的字符型数组中,
 6 将第3个字符串连接到第二个字符串之后,组成新的字符串存入以为的字符型数组中,
 7 然后输出该新的字符串 
 8 */
 9 
10 int main(){
11     char dest[61],str[3][21];
12     int i,j,k;
13     scanf("%s%s%s",str[0],str[1],str[2]);
14     k=0;
15     for(i=0;i<3;i++){
16         for(j=0;j<20;j++){
17             if(str[i][j]=='\0')
18                 break;
19             else{
20                 dest[k]=str[i][j];
21                 k++;
22             }
23         }
24     }
25     dest[k]='\0';
26     printf("%s",dest);
27     return 0;
28 }
用数组循环处理两个字符串的合并

 

「C语言」「算法」字符串拼接的多种模式「C语言」「算法」字符串拼接的多种模式
 1 #include <stdio.h>
 2 
 3 int main(){
 4     char str1[80],str2[30],*ptr1=str1,*ptr2=str2;
 5     printf("input str1:");
 6     gets(str1);
 7     printf("input str2:");
 8     gets(str2);
 9     printf("str1----------str2\n");
10     printf("%s.......%s\n",ptr1,ptr2);
11     while(*ptr1)ptr1++;/* 移动指针到串尾 */
12     while(*ptr2)*ptr1++=*ptr2++;/* 连接串 */
13     *ptr1='\0';/* 写入串的结束标志 */
14     ptr1=str1;ptr2=str2;
15     printf("str1----------str2\n");
16     printf("%s.......%s\n",ptr1,ptr2);
17     return 0;
18 }
用指向字符串的指针变量处理两个字符串的合并