#include <stdio.h>
#include <assert.h>
#include <string.h>
char *my_strcat(char *a, const char *b)
{
assert(a && b);
char *c = a;
while(*c != '\0')
c++;
//(int n = ( strlen(a)) ) ( a[n++] = *b++) != '\0'
while((*c++ = *b++) != '\0'){}
return a;
}
int main ()
{
char str1[] = {"abc"};
char str2[] = {"def"};
printf("my strcat %s\n", my_strcat(str1, str2)); //abcdef
return 0;
}
#include <stdio.h>
#include <assert.h>
#include <string.h>
char *my_strcat(char *a, const char *b)
{
assert(a && b);
char *c = a;
while(*c != '\0')
{
c++;
}
while(*b != '\0')
{
*c++ = *b++;
}
*c = *b; //还有一个'\0'没有输入,上面程序只是加了。
return a;
}
int main ()
{
char str1[] = {"abc"};
char str2[] = {"def"};
printf("my strcat %s\n", my_strcat(str1, str2)); //abcdef
return 0;
}