int c = someIntegerValue;
// Some code...
int i;
for (i = 0; i < 5, i < c; i++) {
...
}
Trình biên dịch của tôi cho biết error: expression has no effect
, nghe có vẻ đúng. Vậy, cái nào trong 2 so sánh đó sẽ được sử dụng ở đây? Tôi đoán là i < c
bị bỏ qua, nhưng tôi muốn một số xác nhận từ những người khác vì tôi không ở vị trí để chạy mã này ...Dấu phẩy này làm gì trong phần * test * của vòng lặp for?
Không phải chuyên gia C, nhưng có vẻ như nó đang cố gắng làm tương đương 'i <5 && i
Quyền của trình biên dịch. 'i <5' ở đây được đánh giá, nhưng giá trị bị vứt đi mà không được sử dụng, và nó không có tác dụng phụ, vì vậy lập trình viên này hiểu rõ điều gì đó. –
Tại sao bỏ phiếu xuống và bỏ phiếu? Toán tử dấu phẩy không phải là điều trực quan nhất trên thế giới. Nó vấp tôi và tôi đã mã hóa C trong gần 2 thập kỷ. –