- 締切済み
自作strcat
関数strcatを自分で作ってみました。 #include<stdio.h> char *my_strcat(char *s1, char *s2){ int i = 0; int n = 0; while(s1[i] != '\0'){ i++; } while(s2[n] != '\0'){ s1[i] = s2[n]; i++; n++; } s1[i] = '\0'; return s1; } int main(){ char *s1 = "abc"; char *s2 = "vwxyz"; my_strcat(s1, s2); printf("s1:%s s2:%s\n", s1, s2); return 0; } これを実行したところ、s1はちゃんとs1にs2を連結した形で表示されました。しかし、s2は一文字少なく表示されてしまいます。自分ではどこをどう直せばいいかわかりません。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- kenji_aki
- ベストアンサー率50% (29/58)
回答No.5
- aris-wiz
- ベストアンサー率38% (96/252)
回答No.4
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)
回答No.3
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
- koko_u_u
- ベストアンサー率18% (216/1139)
回答No.1