私は、次のコードを持っている:Cで次のリント警告を削除する方法はありますか?
#define NUM_DAYS 65
#define NUM_PERSON 33
int num = 0;
if(NUM_DAYS % NUM_PERSON)
{
num = NUM_DAYS/NUM_PERSON;
}
else
{
uum = NUM_DAY/NUM_PERSON + 1;
}
num = num - 1;
while(num > 0)
{
//do something here
}
けど、次のlint警告だ:
Warning 681: Loop is not entered
何の問題があるとどのようにそれを修正するために?
問題は、最初に 'num'を' 65/33'に設定して、 '1'を引いて1を減算するので、ループ条件がチェックされるとき' num'は '0'です。リントはあなたが意図したものではないかもしれないと言います。 –
ストーリーの道徳:整数除算の切り捨てに注意してください。 –
else節の 'uum ='は、タイプミスのように見えます –