質問編集履歴

4

つけたしたから

2018/05/08 15:36

投稿

P_Beginner
P_Beginner

スコア99

title CHANGED
File without changes
body CHANGED
@@ -11,7 +11,7 @@
11
11
  ```C
12
12
  int main(void){
13
13
 
14
- char str[]="abc,xyz,012"; //strは自分でmain関数を開き,下のprintfに直接書き込んでも良い
14
+ char str[]="abc,xyz,012"; //strは自分でmain関数を開き,下のprintf文の関数呼び出しの引数部分に直接書き込んでも良い
15
15
  char str_ans[];
16
16
  //実行結果(表示形式)
17
17
  printf("%s¥n",myStrtok(str,str_ans)); //abc

3

文章を付け足した

2018/05/08 15:36

投稿

P_Beginner
P_Beginner

スコア99

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,9 @@
3
3
  strtok関数を自作する上でのアルゴリズムのヒントなどをご教授していただけると幸いです。
4
4
 
5
5
  ちなみに今回の関数では、第1引数がNULLのときは前回の文字列の探索の続きを行えるように、新しく文字列が与えられたら最初から、切り出しが終了したらNULLを返せるようにする条件が付いています。
6
+ 可能であればカンマ(区切り文字)が連続した際に返す文字も工夫してください(私の場合はとりあえずNULLにしますが)。
6
7
 
8
+
7
9
  イメージ的にはこんな感じにしたいです(下)
8
10
 
9
11
  ```C

2

プログラムソースを付け足した

2018/05/08 15:35

投稿

P_Beginner
P_Beginner

スコア99

title CHANGED
File without changes
body CHANGED
@@ -7,11 +7,16 @@
7
7
  イメージ的にはこんな感じにしたいです(下)
8
8
 
9
9
  ```C
10
- char str[]="abc,xyz,012";
11
- char str_ans[];
10
+ int main(void){
12
11
 
12
+ char str[]="abc,xyz,012"; //strは自分でmain関数を開き,下のprintfに直接書き込んでも良い
13
+ char str_ans[];
14
+ //実行結果(表示形式)
13
- myStrtok(str,str_ans); //abc
15
+ printf("%s¥n",myStrtok(str,str_ans)); //abc
14
- myStrtok(NULL,str_ans); //xyz
16
+ printf("%s¥n",myStrtok(NULL,str_ans)); //xyz
15
- myStrtok(NULL,str_ans); //012
17
+ printf("%s¥n",myStrtok(NULL,str_ans)); //012
16
- myStrtok(NULL,str_ans); //NULL
18
+ printf("%s¥n",myStrtok(NULL,str_ans)); //NULL
19
+
20
+ return 0;
21
+ }
17
22
  ```

1

プログラムソースの記述の誤り

2018/05/08 15:32

投稿

P_Beginner
P_Beginner

スコア99

title CHANGED
File without changes
body CHANGED
@@ -10,8 +10,8 @@
10
10
  char str[]="abc,xyz,012";
11
11
  char str_ans[];
12
12
 
13
- myStrtok(str,ans); //abc
13
+ myStrtok(str,str_ans); //abc
14
- myStrtok(NULL,ans); //xyz
14
+ myStrtok(NULL,str_ans); //xyz
15
- myStrtok(NULL,ans); //012
15
+ myStrtok(NULL,str_ans); //012
16
- myStrtok(NULL,ans); //NULL
16
+ myStrtok(NULL,str_ans); //NULL
17
17
  ```