Bạn sử dụng các biến trước khi nó được khởi tạo giá trị thì sai là đúng rồi. dòng float a float b phải khai báo (đồng thời khởi tạo) sau khi nhập xong các giá trị.
Theo mình hiểu thì tùy theo compiler , có thể khai báo mà không cần khởi tạo giá trị , hoặc compiler sẽ ngầm định giá trị khởi tạo ban đầu ( = 0), hoặc là sẽ báo lỗi như trong trường hợp của bạn.
Việc khai báo mà không khởi tạo nhưng vẫn sử dụng theo mình là KHÔNG THỂ CHẤP NHẬN ĐƯỢC. Vì code nó như vậy, compile ra, có thể tuỳ hđh hoặc tuỳ theo phần cứng mà chương trình chạy có đúng hay không, rất dễ sinh bug. Ngay cả riêng với Visual Studio thì compile ở chế độ debug và release cũng có thể cấp giá trị mặc định khác nhau cho các biến.
Về phía bạn @vinhthang, bạn nên hiểu phép toàn = là phép gán, dùng để gán GIÁ TRỊ tại thời điểm phép toán được thực hiện. Bạn gán như vậy không có nghĩa là khi thay đổi x1, y1, x2, y2 thì a, b cũng thay đổi theo. Cho nên bạn phải nhập x1, y1, x2, y2 trước rồi mới gán giá trị cho a và b.
Ví dụ:
int biến_1 = 2;//biến_1==2
int biến_2 = 3;//biến_2==3
int biến_3 = biến_1 * biến_2//biến_3==6
biến_1 = 10//biến_1 được gán giá trị mới. Nhưng do không chạy lệnh thay đổi biến_3 nên biến_3 vẫn bằng 6
Bạn sử dụng các biến trước khi nó được khởi tạo giá trị thì sai là đúng rồi. dòng
float a float b
phải khai báo (đồng thời khởi tạo) sau khi nhập xong các giá trị.Theo mình hiểu thì tùy theo compiler , có thể khai báo mà không cần khởi tạo giá trị , hoặc compiler sẽ ngầm định giá trị khởi tạo ban đầu ( = 0), hoặc là sẽ báo lỗi như trong trường hợp của bạn.
Việc khai báo mà không khởi tạo nhưng vẫn sử dụng theo mình là KHÔNG THỂ CHẤP NHẬN ĐƯỢC. Vì code nó như vậy, compile ra, có thể tuỳ hđh hoặc tuỳ theo phần cứng mà chương trình chạy có đúng hay không, rất dễ sinh bug. Ngay cả riêng với Visual Studio thì compile ở chế độ debug và release cũng có thể cấp giá trị mặc định khác nhau cho các biến.
Về phía bạn @vinhthang, bạn nên hiểu phép toàn
=
là phép gán, dùng để gán GIÁ TRỊ tại thời điểm phép toán được thực hiện. Bạn gán như vậy không có nghĩa là khi thay đổix1
,y1
,x2
,y2
thìa
,b
cũng thay đổi theo. Cho nên bạn phải nhậpx1
,y1
,x2
,y2
trước rồi mới gán giá trị choa
vàb
.Ví dụ: