30/09/2018, 18:06
Tại sao giá trị của biến c khi in ra màn hình lại là 1.00000000. Trong khi em đã khai báo c là float, đáng lẽ phải ra 1,333333333
int a=4; int b=3;
float c;
c= a/b;
printf("Gia tri cua c la: %f",c);
return 0;
Em đang tự học lập trình C, em là newbie. Cho nên em xin hỏi các anh chị là tại sao giá trị của c khi in ra màn hình lại là 1.00000000. Trong khi em đã khai báo c là float, đáng lẽ phải ra 1,333333333
Mong các anh giải đáp dùm em
Bài liên quan
Nó sẽ thực hiện theo hai bước:
Do đó, khi thực hiện phép chia - ở đây là phép chia hai số int -> kết quả là int 1. Kết quả int 1 này sau đó mới thực hiện phép gán =, ép kiểu chuyển sang float thành float 1.00000.
Để đảm bảo đúng kết quả về float, ít nhất một thành phần trong biểu thức phải là float. Bạn có thể làm như sau:
Cảm ơn anh đã giải thích rất rõ về caí này . Anh giải thich rất kỹ càng chi tiết ^^. Em đã hiểu vấn đề rồi ạ.