string1 にはマージされた文字列を保持するのに十分なスペースがないため、2 つの文字列のマージに失敗する次のプログラムがあります。
#include<stdio.h>
#include<string.h>
int main()
{
void strcat2(char *str1,char *str2);
strcat2("john","kris");
getchar();
}
void strcat2(char *str1,char *str2)
{
for (; *str1++;);
for (;*str1++ =*str2++;);
}