3 Câu Trả Lời

Trung Quân

Cả hai cách viết void mainmain đều không có trong chuẩn của C. Cách viết đúng là

int main(main)

Hoặc :

int main(int argc, char **argv)

Mục đích của việc trả về giá trị là kiểu số đó là để trả về mã status của chương trình.

Thêm bình luận
Huỷ
Đình Anh

Phiên bản ANSI C 89 quy định các cách viết sau khi khai báo hàm main() trong chương trình:

int main()
int main(void)
int main(int argc, char* argv[])

Giải thích ý nghĩa của từng cách viết:

Sử Dụng int main()

Với cách viết này hàm main() sẽ được gọi với một số lượng đối số truyền vào là tùy ý và hàm sẽ trả về giá trị là một số nguyên integer. Giá trị này chính là trạng thái của chương trình.

Sử Dụng int main(void)

Với cách viết này hàm main() sẽ được gọi mà không có đối số truyền vào và hàm sẽ trả về giá trị là một số nguyên integer. Giá trị này chính là trạng thái của chương trình.

Sử Dụng int main(int argc, char* argv[])

Với cách viết này hàm main() sẽ được gọi với một số lượng đối số truyền vào là argc (argc hiển nhiên sẽ nhận kiểu dữ liệu là int) và argv[] chứa các đối số truyền vào (trong trường hợp này có kiểu dữ liệu là char). Và hàm sẽ trả về giá trị là một số nguyên integer. Giá trị này chính là trạng thái của chương trình.

Trường hợp nếu không có đối số truyền vào hàm main() chúng ta đều có thể sử dụng int main() hoặc int main(void). Tuy nhiên, việc chọn sử dụng int main(void) sẽ giúp cải thiện được tốc độ của chương trình.

Về Cách Viết void main()

Đây là cách viết không đúng chuẩn và trong một số trường hợp khi compile source code sẽ trả về lỗi.

Thêm bình luận
Huỷ
Phan Quang

Cách nào cũng được. Nếu int main thì phải return 1 cái gì đó có kiểu int thôi. Void thì không cần return hoặc return không gì cả.

int main()
{
    // bắt buộc phải return 1 giá trị int
    return 123456;
}

Còn void: Không return hoặc return ..không gì hết

void main()
{
    return;
}
Thêm bình luận
Huỷ

Thêm Trả Lời

Câu Hỏi Liên Quan