Tôi đang cố đọc 4 ints trong C trong một thử thách chơi gôn và tôi bị làm phiền bởi độ dài của mã mà tôi cần để giải quyết nó:
scanf("%d%d%d%d",&w,&x,&y,&z)
đó là 29 ký tự, rất lớn khi xét rằng tổng kích thước mã của tôi là 101 ký tự. Tôi có thể loại bỏ int đầu tiên vì tôi không thực sự cần nó, vì vậy tôi nhận được mã này:
scanf("%*d%d%d%d",&x,&y,&z)
đó là 27 ký tự, nhưng nó vẫn còn dài.
Vì vậy, câu hỏi của tôi là, có cách nào khác (thủ thuật, chức năng, công cụ K & R) để đọc ints mà tôi không biết có thể giúp tôi giảm chút mã này không?
Cảm ơn rất nhiều.
EDIT: một số người dùng đã báo cáo rằng câu hỏi của tôi tương tự như Mẹo chơi gôn trong C
Mặc dù chủ đề này chứa nhiều thông tin hữu ích để rút ngắn mã C, nhưng nó không liên quan đến trường hợp sử dụng thực tế của tôi vì nó không cung cấp cách đọc đầu vào tốt hơn.
Tôi không biết có thực sự có cách nào tốt hơn scanf để đọc nhiều số nguyên không (đó là lý do tại sao tôi đặt câu hỏi ngay từ đầu), nhưng nếu có, tôi nghĩ rằng câu hỏi của tôi có liên quan và đủ khác so với toàn cầu các mẹo và thủ thuật.
Nếu không có cách nào tốt hơn, câu hỏi của tôi vẫn có thể hữu ích trong tương lai gần nếu ai đó tìm ra giải pháp tốt hơn.
EDIT2: Tôi đang tìm kiếm một chương trình đầy đủ (vì vậy không có thủ thuật chức năng nào) và tất cả các lời nói dối đều có thể. Nó cần phải là C, không phải C ++. Hiện tại, toàn bộ chương trình của tôi trông như thế này:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
mọi thủ thuật đều được hoan nghênh, miễn là nó rút ngắn mã (đây là mã golf :)) và miễn là nó không phải là c ++