解题思路和注意事项:
思路:定义两个数组,分别用gets()函数输入,再用strcat()进行连接,最后用puts()函数进行输出即可。
函数用法:gets()和puts()函数请见上一篇文章。
strcat()就是将两个char型进行连接,在头文件string.h中。
表现形式:strcat(a,b)。把a所指字符串添加到b结尾处(覆盖a结尾处的'\0')。
注意:a和b所指内存区域不可以重叠且a必须有足够的空间来容纳b的字符串。
参考代码:
#include<stdio.h> #include<string.h> int main() { char a[1000],b[1000]; gets(a); gets(b); strcat(a,b); puts(a); return 0; }
0.0分
164 人评分
#include<stdio.h> #include<string.h> void link(char a[],char b[],int l1,int l2) { char c[9999]; int i,j,k; for(i=0,k=0;i<l1;i++,k++){ c[k]=a[i]; } for(j=0;j<l2;j++,k++){ c[k]=b[j]; } } int main() { char a[9999],b[9999],c[9999]; gets(a); gets(b); int l1,l2; l1=strlen(a); l2=strlen(b); link(a,b,l1,l2); puts(c); return 0; } 哪里有问题
#include<stdio.h> #include<string.h> void link(char arr1[], char arr2[]) { int len1 = strlen(arr1); int len2 = strlen(arr2); int i = 0; int j = 0; for (i = len2; i < len1 + len2; i++, j++) { arr1[i] = arr2[j]; } } int main() { char arr1[1000] = { 0 }; char arr2[1000] = { 0 }; scanf("%s", arr1); scanf("%s", arr2); link(arr1, arr2); printf("%s\n", arr1); return 0; }
#include<stdio.h> #include<string.h> int main() { char a[100],b[100]; scanf("%s",&a); scanf("%s",&b); printf("%s\n",strcat(a,b)); return 0; }
#include <stdio.h> #include<string.h> void char_connect(char *p1, char *p2, int m, int n); void main(void) { char a[100]; char b[100]; int m; int n; scanf("%s",&a); scanf("%s",&b); m = strlen(a); n = strlen(b); char_connect(&a[0], &b[0], m, n); printf("%s",a); } void char_connect(char *p1, char *p2, int m, int n) { int i; for (i = 0; i < n; i++) { *(p1+m+i) = *(p2+i); } }
#include<stdio.h> void an(char a[],char b[]); int main(void){ char a[100]; char b[100]; gets(a); gets(b); an(a,b); return 0; } void an(char a[],char b[]){ printf("%s%s",a,b); }
#include <string.h> void myCat(char ch1[], char ch2[], int sz) { int j = 0; for (j = 0; j < sz; j++) { ch1[strlen(ch1)] = ch2[j]; } printf("%s\n", ch1); } int main() { char ch1[20] = { 0 }; char ch2[10] = { 0 }; scanf("%s", ch1); scanf("%s", ch2); int sz = strlen(ch2); myCat(ch1,ch2,sz); return 0; }
#include<stdio.h> #include<string.h> int main() { char a[100]={0};char b[100]={0}; gets(a); gets(b); for(int i=0;i<strlen(b);i++) { a[strlen(a)]=b[i]; } printf("%s",a); return 0; }
梧高凤必至 2023-03-20 08:48:24 |
6
#include <stdio.h> int main() { char arr1[50],arr2[50]; gets(arr1); gets(arr2); puts(arr1); puts(arr2); return 0; } 为什么这样不行呢?
多输入输出练习1 (C语言代码)浏览:1219 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:588 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1186 |
关于C语言变量位置的问题浏览:294 |
A+B for Input-Output Practice (V) (C语言代码)浏览:497 |
1128题解(返回值为数组的情况)浏览:571 |
1035 题解浏览:875 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:672 |
敲七 (C++代码)浏览:1119 |
找出最长的字符串来 (C语言代码)浏览:1840 |