e19.c

unsigned変数 < 0 は常に成り立ちません


/* 修正前 */ unsigned int i100 = 100 ; unsigned int i1 = 1 ; if((i1 - i100) < 0) { ここには来ない }
/* 修正後 */ if(i1 < i100) { 条件により来る }

解説 変数の有効範囲チェックによく、この記述をしてしまいます。 『if(0 < val && val < 5)』 は無駄で、 『if( val < 5)』 は無駄がありません。 無駄が無ければ、単体試験項目も1個減ると考えましょう。