teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

別の方法について追記

2018/10/06 06:32

投稿

pepperleaf
pepperleaf

スコア6385

answer CHANGED
@@ -10,4 +10,27 @@
10
10
  *s1 = *s2;
11
11
  }
12
12
  ```
13
- にする必要があります。
13
+ にする必要があります。
14
+
15
+ [追記]
16
+ 文字列の全てを変更するならば、色々、方法はありますが、
17
+ ```C
18
+ void mystrcpy(char *s1, char *s2)
19
+ {
20
+ do {
21
+ *s1 = *s2;
22
+ s1++; s2++;
23
+ } while (*s2 != '\0');
24
+ *s1 = '\0';
25
+ }
26
+ // または、
27
+ void mystrcpy(char *s1, char *s2, int len)
28
+ // void mystrcpy(char s1[], char s2[], int len)
29
+ {
30
+ int i;
31
+ for ( i = 0; i < len; i++) {
32
+ s1[i] = s2[i];
33
+ }
34
+ }
35
+ ```
36
+ ただし、どちらの方法もs1[] の配列長さの確認を行っていません。注意。