2009-03-11から1日間の記事一覧

off-by-one

ループの境界条件のエラーをoff-by-oneエラーと言うそうな。初めて知りました。境界条件のエラーとは、 for (int i = 0; i < 100; i++) みたいなのを、 for (int i = 0; i <= 100; i++) のように書いてしまうこと。

ループにおいて初期化を忘れた場合

内部仕様が分からない関数hoge()があり、それを次のプログラムのように使用する場合を考えます。 struct arg1 { int a; char b; }; int arg2; void hoge(int *arg1, arg2); init_arg1(&arg1); init_arg2(&arg2); while (1) { hoge(&arg1, arg2); } ここでバ…

自分をデバッグする

プログラムを書いていてバグに遭遇したとき、「そういや前も同じようなバグがあったなぁ」って思うこと、たくさんありませんか?私はいつも同じようなバグばかり出しています。おまけにそういうバグってなかなか取れない。取り方を覚えていない。そういうわ…