Một lỗi chính tả cơ bản trong c gây ra hậu quả ghê gớm. Khi dùng câu lệnh printf để in lên màn hình một biến lại kèm với '&' trước cái biến ấy. Thật ra thì giá trị của biến không thay đổi, nếu không cần in biến ấy thì mọi tính toán liên qua đến nó vẫn thế. Và nó chỉ gây rắc rối với các chương trình chạy trên console, ý tôi là trong nhúng chả hạn, việc xuất một biến ra dù theo song song 1 cổng hay nối tiếp 1 pin cũng sẽ chẳng dùng đến 1 hàm như vậy.
Vấn đề là máy tính thứ ngu ngốc này đã hiểu '&' là một toán tử and với biến. Nhưng nó đã end gì vậy? Không phải là 0 vì kết quả hiển thị đâu có ra 0, chắc là một thứ rác rưởi gì đấy mà trình biên dịch tự bịa ra khi thiếu những chỉ dẫn. Bởi kết quả luôn là một số âm có độ dài gần tới giới hạn của kiểu khai báo ban đầu.
Tôi hay mắc lỗi này vì lười cóp đoạn trên vào đoạn dưới sửa lại từ scan nên hay sót. IDE lại chả báo lỗi mà vẫn biên dịch bình thường chỉ có một cảnh báo (thường bị bỏ qua vì quá rất nhiều cảnh báo trong toàn bộ chương trình). Kết quả xuất ra là một con số quái vật không biết từ đâu và buộc phải tìm hiểu lỗi logic rất mất thời gian. Dù sao thì không phải là một lập trình phần mềm chuyên nghiệp, sử dụng printf in ra màn hình chỉ là để làm bài tập, sẽ không có quá nhiều rắc rối, mong là vậy.Tất c
No comments:
Post a Comment