#include <stdio.h>

char *strcat(char *str1,const char *str2){

int i=0,length;

for(i=0;*(str1+i);i++);length=i;
for(i=0;*(str1+length+i)=*(str2+i);i++);

return &str1[0];

}


int main(void){

char str[128]="aaa";
char *str2=strcat("ABCDE",str);

printf("%s\n",str);
getchar();

return 0;

}


上のコードを書いてみました。予想では「ABCDEaaa」と表示されるはずなんですが、
うまくいきません。どうしたらいいでしょうか。