Các bạn xem đoạn chương trình sau không chạy như mong muốn.
Tại sao mình dùng khuôn dạng %d lại chuyển hết về 0 nhỉ?C Code:
Thanks!
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Có biến em không khai báo ngay ở đầu nhưng khi dịch trên DevC++ vẫn chạy ngon mà không báo lỗi gì nhỉNguyên bản được gửi bởi langman
.
Mình bổ sung là bạn í thiếu q[1]
Thanks mọi người, lâu rùi ko code nên lung tung hết :d
Thật ra đây là 1 thắc mắc rất đúng, rất bình thường.
Nhưng!
Thứ nhất, theo bạn hiểu thì câu nói của mình có ý nghĩa gì: Nếu là C code
Thứ 2 , bạn hiểu ở đầu scope có những ý nghĩa gì. Nó có thật nhiều ý nghĩa hơn bạn nghĩ là "ở đầu" đó.
Bạn có thể tham khảo hình sau
Đã được chỉnh sửa lần cuối bởi langman : 09-01-2013 lúc 02:03 PM.
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
Về cái thử nhất, em kiểm tra code với đuôi .c thuần chứ không phải là .cpp (của C++). Và thực tế là em đã test với code đuôi C thuần .c.
Về cái thứ 2, em hiểu scope là ở đầu khối lệnh hoặc đầu chương trình (tức là trong phạm vi nó được sử dụng thì nó phải được khai báo đầu tiên) không biết có đúng không ^^
Như anh nói code của bạn sai ngữ pháp thì khi biên dịch nó sẽ báo lỗi, nhưng em đã thử và hoàn toàn không báo lỗi.
Thực tế đoạn khai báo float q[5]; được thực hiên trước khi biến q được sử dụng nên em nghĩ là không sai.
Có gì chưa hiểu mong anh giải thích thêm.
Tốt, Kiến thức rất tốt.
More : đối với lập trình C, để đóng gói code được tốt hơn, mình sẽ mở các scope nếu cần thiết. Ví dụ
C Code:
#include <stdio.h> int main() { //something #ifdef DEBUG { int i; for (i=0;i<999;i++) { //... do something } } #endif //something else }
Còn về vụ khai báo, a đang làm teachinal leader cho 1 đội chuyên làm C trong Fsoft, a làm việc ko chỉ với VS đâu, mà còn cả ADS và nhiều compiler khác.
a demo cho em 1 cái nhé
Đã được chỉnh sửa lần cuối bởi langman : 09-01-2013 lúc 02:03 PM.
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
C mà không khai báo ở trên đầu thì đương nhiên báo lỗi
DEVC++ không báo lỗi có thể là do bạn chỉnh chế độ compile là CPP, hoặc DEVC++ không theo chuẩn ANSI, ISO...