回答編集履歴

2

追記

2019/07/26 00:58

投稿

jimbe
jimbe

スコア12545

test CHANGED
@@ -29,3 +29,9 @@
29
29
  表示時, str は最後の lemon のstrtok後の状態になっています.
30
30
 
31
31
  そしてq[],a[]のアドレスから strlen を行いますと, q は常に "lemon"の文字数である 5, a は &str[6] からの文字数 5 もしくは &str[7] からの文字数 4 となります.
32
+
33
+
34
+
35
+ このような動作の確認は, y_waiwaiさんの言われるように開発環境上でデバック機能を用いたり, 各処理毎に変数の中身を表示したりすることで行えます.
36
+
37
+ 是非確認してみてください.

1

表修正

2019/07/26 00:58

投稿

jimbe
jimbe

スコア12545

test CHANGED
@@ -8,17 +8,21 @@
8
8
 
9
9
  入力とstr,q[],a[] の各値を並べますと,
10
10
 
11
- |入力|str(strtok後)|q|a|
11
+ |ループ|入力|str(strtok後)|q|a|
12
12
 
13
- |:--|:--:|--:|--:|
13
+ |:--:|:--:|:--:|:--:|:--:|
14
14
 
15
- |"apple aple"|"apple\0aple\0"|&str[0]|&str[6]|
15
+ |0|"apple aple"|"apple\0aple\0"|&str[0]|&str[6]|
16
16
 
17
- |"orange olange"|"orange\0olange\0"|&str[0]|&str[7]|
17
+ |1|"orange olange"|"orange\0olange\0"|&str[0]|&str[7]|
18
18
 
19
- |"grape glepe"|"grape\0glape\0"|&str[0]|&str[6]|
19
+ |2|"grape glepe"|"grape\0glape\0"|&str[0]|&str[6]|
20
20
 
21
- |"lemon lemon"|"lemon\0lemon\0"|&str[0]|&str[6]|
21
+ |3|"lemon lemon"|"lemon\0lemon\0"|&str[0]|&str[6]|
22
+
23
+
24
+
25
+ となります.
22
26
 
23
27
 
24
28