e83.c

BUGです。if(常時偽)


/* 修正前 */ void func() { unsigned char 符号無しchar変数 = NG ; /* 長い処理 */ if(符号無しchar変数 < 0) { printf("絶対来ない¥n") ; } }
/* 修正例 */ void func() { int val = -1 ; /* 長い処理 */ if(val < 0) { printf("条件により来る¥n") ; } }

解説 符号無し変数は0より小さくなりません 符号無しchar/shortは-1と等しくなりません