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

回答編集履歴

1

追記

2017/11/27 12:20

投稿

KSwordOfHaste
KSwordOfHaste

スコア18406

answer CHANGED
@@ -17,4 +17,17 @@
17
17
 
18
18
  > どう直せばいいかがわかりません。
19
19
 
20
- 直し方より原因を掴むのが先ですよ!
20
+ 直し方より原因を掴むのが先ですよ!
21
+
22
+ ---
23
+ 追記:(大した話ではないですが)
24
+ 異常終了する付近を調べる際、仕様を勘違いしていたり動作自体を勘違いしていたりといったことはよくあるので、少なくとも後者はデバッグプリントしておくと気づける場合もあります。
25
+ ```C
26
+ strcpy(name, strtok(NULL, x));
27
+ // ここでstrcpyの第二引数にNULLを渡すと致命的
28
+ // ならばデバッグするときは・・・
29
+ char* tmp1 = strtok(NULL, x));
30
+ printf("tmp1 = %p\n", tmp1);
31
+ strcpy(name, tmp1);
32
+ // などとすれば、より状況がつかみやすくなる・・・
33
+ ```