从键盘输入两个字符串,要求不用库函数strcat把串b的前5个字符连接到串a中;如果b的长度小于5

2025-03-25 08:18:04
推荐回答(2个)
回答1:

#include 

void strcat(char *s1,char *s2,int n) {

char *p = s1;

char *q = s2;

while(*p) p++; 

while((q < s2 + n) && (*q)) *p++ = *q++;

*p = '\0';

}

int main() {

char sa[50],sb[50];

printf("sa = ");

gets(sa);

printf("sb = ");

gets(sb);

strcat(sa,sb,20);

printf("%s.\n\n",sa);

return 0;

}

回答2:

#include
void mstrcat(char *a,char *b) { 
  while ( *a ) a++;
  while ( *b ) { *a=*b; a++; b++; }
  *a=0;
}
void main() { char a[80],b[40];
  scanf("%s",a); scanf("%s",b); b[5]=0; mstrcat(a,b); printf("%s\n",a);
}