いくつか Warning (警告)が出ると思います。 なるべく警告が出ないようにプログラムを直してください。
#include <assert.h> /* * int assert(int expression); * このマクロは、プログラムに診断を挿入するとき有効です。 * 実行中に expression が偽(ゼロ)になった場合、 assert() は、 * 標準エラー出力にエラーを表示し、強制終了します。 * -DNDEBUG を指定してコンパイルすると、アサーションは * プログラムにコンパイルされません。 */
上記の assert() と併用して、プリプロセッサを次のように
使うと便利です。
/*
* NDEBUG と反対の意味を持つシンボル DEBUG の定義
*/
#ifdef NDEBUG
# undef DEBUG
#else
# define DEBUG
#endif
プログラムの中では次のように使用します。
#ifdef DEBUG
ここに挟まれた部分はデバッグ時のみ実行されます。
#endif
デバッグが終わったら -DNDEBUG を指定してコンパイルします。