ฉันกำลังพยายามอ่าน ints 4 ตัวใน C ในการแข่งขันกอล์ฟและฉันก็กังวลกับความยาวของรหัสที่ฉันต้องแก้ไข:
scanf("%d%d%d%d",&w,&x,&y,&z)
นั่นคือ 29 ตัวอักษรซึ่งมีขนาดใหญ่มากเมื่อพิจารณาว่าขนาดรหัสทั้งหมดของฉันคือ 101 ตัวอักษร ฉันสามารถกำจัด int แรกได้เนื่องจากฉันไม่ต้องการมันดังนั้นฉันจึงได้รหัสนี้:
scanf("%*d%d%d%d",&x,&y,&z)
อันไหนคือ 27 ตัวอักษร แต่มันก็ยังคงยาว
ดังนั้นคำถามของฉันคือมีวิธีอื่น (เทคนิคฟังก์ชั่นสิ่งของ K&R) เพื่ออ่าน ints ที่ฉันไม่ทราบว่าสามารถช่วยลดรหัสบิตนี้ได้หรือไม่
ขอบคุณมาก.
แก้ไข: ผู้ใช้บางคนรายงานว่าคำถามของฉันคล้ายกับเคล็ดลับสำหรับการเล่นกอล์ฟใน C
ในขณะที่หัวข้อนี้มีข้อมูลที่เป็นประโยชน์มากมายในการย่อรหัส C แต่ก็ไม่เกี่ยวข้องกับกรณีการใช้งานจริงของฉันเนื่องจากไม่มีวิธีที่ดีกว่าในการอ่านอินพุต
ฉันไม่รู้ว่าจริง ๆ แล้วมีวิธีที่ดีกว่า scanf ในการอ่านจำนวนเต็ม (นั่นเป็นเหตุผลที่ฉันถามคำถามตั้งแต่แรก) แต่ถ้ามีฉันคิดว่าคำถามของฉันเกี่ยวข้องและแตกต่างจากทั่วโลกอย่างเพียงพอ เคล็ดลับและลูกเล่น
หากไม่มีวิธีที่ดีกว่าคำถามของฉันยังคงมีประโยชน์ในอนาคตอันใกล้หากมีคนหาทางออกที่ดีกว่า
EDIT2: ฉันกำลังมองหาโปรแกรมเต็มรูปแบบ (จึงไม่มีฟังก์ชั่นเคล็ดลับ) และ librairies ทั้งหมดที่เป็นไปได้ มันต้องเป็น C ไม่ใช่ C ++ ปัจจุบันโปรแกรมทั้งหมดของฉันมีลักษณะดังนี้:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
เทคนิคใด ๆ ก็ยินดีต้อนรับตราบใดที่มันสั้นรหัส (นี่คือรหัสกอล์ฟ :)) และตราบใดที่มันไม่ได้เป็น c ++