JavaScript is required

Chương trình sẽ cho kết quả gì? #include #include void main() { float n = 0.7; if(n < 0.7f) printf("LaptrinhC++"); else printf("abc"); getch(); }

Câu nào trong số này

A.

Lập trìnhC++

B.

abc

C.

Lỗi biên dịch

D.

Không có

Trả lời:

Đáp án đúng: B


Trong C, so sánh số thực (float) có thể dẫn đến kết quả không mong muốn do sai số làm tròn. Ở đây, `n` được gán giá trị `0.7`. Trong biểu thức `n < 0.7f`, `0.7f` là một số thực kiểu float. Do sai số làm tròn có thể xảy ra trong quá trình biểu diễn số thực, `n` có thể hơi lớn hơn hoặc hơi nhỏ hơn `0.7f`. Trong trường hợp này, khả năng cao `n` sẽ lớn hơn `0.7f` một chút. Do đó, điều kiện `n < 0.7f` sẽ sai và chương trình sẽ in ra "abc".

Câu hỏi liên quan