本题要实现的程序功能是:
①从键盘上先后读入两个字符串,存储在字符数组str1和str2中。注意,这两个字符串最长均可达到32个字符、最短均可为0个字符。 ②将字符串str2插入字符串str1中。 ③在屏幕上输出新生成的str1。
函数接口定义:
void conj(char *s1, char *s2);
裁判测试程序样例:
#include <stdio.h>
#include <string.h>
#define N 32
void conj(char *s1, char *s2);
int main(void)
{
char str1[N * 2], str2[N];
gets(str1);
gets(str2);
conj(str1, str2);
printf("After conj string1:%s\n", str1);
return 0;
}
/* 请在这里填写答案 */
void conj(char *s1, char *s2){
char str1[81],*p,*q;
q=s1;
p=str1;
while(*s1!='\0'&&*s2!='\0'){
*p++=*s1++;
*p++=*s2++;
}
while(*s1!='\0'){
*p++=*s1++;
}
while(*s2!='\0'){
*p++=*s2++;
}
*p='\0' ;
p=str1;//在打印之前,或者复制之前,千万别忘了,再次使p指向str1的开头
while(*p){
*q++=*p++;
}
*q='\0';
}

该程序功能是将两个输入的字符串str1和str2进行穿插组合,并将结果输出。用户需实现conj函数,将字符串str2插入到str1中,然后在屏幕上显示新生成的str1。字符串长度在0到32个字符之间。





