Tôi có đoạn mã sau:làm thế nào để loại bỏ cảnh báo lint sau trong 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
}
nhưng tôi nhận được cảnh báo lint sau:
Warning 681: Loop is not entered
vấn đề là gì và làm thế nào để sửa chữa nó?
Vấn đề là trước tiên bạn đặt 'num' thành' 65/33', là '1', sau đó trừ một, vì vậy' num' là '0' khi điều kiện vòng lặp được chọn. Lint nói rằng có thể không phải là những gì bạn dự định, vì vậy hãy cảnh báo về nó. –
Đạo đức của câu chuyện: Hãy coi chừng việc cắt ngắn phân chia số nguyên. –
'uum =' trong mệnh đề khác trông giống như lỗi đánh máy –