diff --git a/2207/C语言同步练习源码/3.数组-3.c b/2207/C语言同步练习源码/3.数组-3.c index 292198a..1efe949 100644 --- a/2207/C语言同步练习源码/3.数组-3.c +++ b/2207/C语言同步练习源码/3.数组-3.c @@ -1,8 +1,29 @@ #include +#include int main(){ + char a[200], b[200];//ַȡַab + char *p, *q;//ָ ֱ洢ַaַb׵ַ + + gets(a); + gets(b);//ӿ̨ȡ + if(strlen(b) > 5){ + b[5] = '\0'; + }//жַǷ5 5 򽫵Ԫظijɽ + p = a;//pָa׵ַ + q = b;//qָb׵ַ + while(*p != '\0'){//ҵaλõĵַ + p++; + } + //bĵһԪؿʼֵa + while(*q != '\0'){ + *p++ = *q++; + } + *p = '\0';//ǽ + printf("a=%s\n", a); + printf("b=%s\n", b); + - return 0; } diff --git a/2207/C语言同步练习答案.md b/2207/C语言同步练习答案.md index 7711b1b..4bf452e 100644 --- a/2207/C语言同步练习答案.md +++ b/2207/C语言同步练习答案.md @@ -510,6 +510,34 @@ int main(){ ![image-20250220231441384](https://yp.smallkun.cn/markdown/image-20250220231441384.png!compress) ```c +#include +#include + +int main(){ + char a[200], b[200];//定义两个字符数组用来读取字符串a和b + char *p, *q;//定义两个指针 分别存储字符串a和字符串b的首地址 + + gets(a); + gets(b);//从控制台获取输入 + if(strlen(b) > 5){ + b[5] = '\0'; + }//判定字符串是否大于5 如果大于5 则将第六个元素改成结束符 + p = a;//p指向a的首地址 + q = b;//q指向b的首地址 + while(*p != '\0'){//找到a结束符位置的地址 + p++; + } + //从b的第一个元素开始赋值到a中 + while(*q != '\0'){ + *p++ = *q++; + } + *p = '\0';//标记结束符 + printf("a=%s\n", a); + printf("b=%s\n", b); + + + return 0; +} ```