Lập trình C với Turbo C++

Mình chào mọi người !
Hôm nay mình bắt đầu học lập trình C theo sách The C Programming Language 2nd
Mình có tải Turbo C ++ để chạy chương trình đầu tiên

#include<stdio.h>
main(){
           printf("Hello, World");
}

Sách nó ghi như vậy mà mình chạy thì bị báo lỗi Functtion should return a value.
Giờ mình phải làm gì, mong mọi người giúp đỡ !

1 Like

Bạn quên câu lệnh return 0; ở cuối dòng trong main(). Câu lệnh này thông báo với compiler rằng chương trình của bạn đã compile thành công.

4 Likes

Phần khai báo của hàm phải có kiểu trả về (return type).
Hàm main() của bạn chưa có kiểu trả về.

void main(){

}

Hoặc có thể là:

int main(){

return 0;
}

Sách đó ghi thiếu hay do bạn đọc và ghi thiếu???

2 Likes

sách ghi vậy mà

1 Like

Không phải cứ hiện dòng thông báo nào trông có vẻ bất thường đều là gặp lỗi. Nguyên văn của lỗi trên là:

warning: Function should return a value.

Warning chỉ là cảnh báo, nếu hiện fatal, error gì đó mới là lỗi.


Sách mà bạn nói tới là sách cũ, xuất bản lần đầu vào năm 1978, viết code theo chuẩn cũ, hồi đó main() được chấp thuận, vẫn đúng tiêu chuẩn nhưng từ C99 trở đi thì không còn. Để tương thích với bản cũ thì compiler chỉ thả warning, mà tốt nhất là nên sửa lại như hai bạn trên có nói và chọn cuốn nào đó mới hơn, ít nhất là code dùng chuẩn từ C99 trở lên.

5 Likes

Sách bạn đọc nhìn khá là cũ. Có thể nội dung trong đó sẽ không đúng với hiện tại đâu.

6 Likes

Cám ơn các bạn ạ, tại thấy cuốn đó do chính tác giả của ngôn ngữ C viết nên đọc mà không biết nó bị outdate

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?