2012-01-27 41 views
5

Xin giải thích như thế nào đoạn mã sau đây trong C là một hợp lệ một trongbị xáo trộn Mã trong C

int main(c, v) char *v; int c;{ 
//program body 
} 

tôi stumbled trên một số ví dụ từ cuộc thi đang bị xáo trộn International C và tôi chỉ tò mò.

+0

Tham khảo câu hỏi này: http://stackoverflow.com/questions/8869768/defining-the-functions-argument-type-after-the-is-it-a-very-old-standard –

Trả lời

2

Đây là kiểu khai báo hàm trước ANSI, nếu bạn đang đề cập đến lý do tại sao char * v; int; nằm ngoài dấu ngoặc đơn.

0

Đây là "K & R C", trong đó đối số hàm được khai báo giữa phần cuối danh sách đối số và phần đầu của hàm của hàm.

0

Đó chỉ là định nghĩa hàm R-style K & R, mặc dù được đánh dấu là "lỗi thời", vẫn được phép theo tiêu chuẩn. Điều không tốt trong mã đó là tham số đầu tiên phải là char **v (hoặc char *v[]) là tiêu chuẩn.

Các vấn đề liên quan