Bir golf meydan okuma C 4 ints okumaya çalışıyorum ve ben bunu çözmek için gereken kod uzunluğu ile rahatsız:
scanf("%d%d%d%d",&w,&x,&y,&z)
Bu 29 karakterdir, bu da toplam kod boyutumun 101 karakter olduğu düşünüldüğünde çok büyüktür. Gerçekten ihtiyacım yok beri ilk int kurtulabilirsiniz, bu yüzden bu kodu almak:
scanf("%*d%d%d%d",&x,&y,&z)
27 karakterden oluşuyor, ama yine de uzun.
Benim sorum şu, bilmediğim ints'ı okumanın başka bir yolu var mı (hileler, fonksiyonlar, K&R şeyler)?
Çok teşekkürler.
EDIT: bazı kullanıcılar sorumun C Golf için ipuçları benzer olduğunu bildirdi
Bu konu C kodlarını kısaltmak için birçok yararlı bilgi içeriyor olsa da, girişleri okumak için daha iyi bir yol sağlamadığı için gerçek kullanım durumumla ilgili değil.
Aslında birden fazla tamsayıyı okumak için scanf'den daha iyi bir yol olup olmadığını bilmiyorum (bu yüzden soruyu ilk etapta soruyorum), ancak varsa, sorumun alakalı olduğunu ve küreselden yeterince farklı olduğunu düşünüyorum Ipuçları ve Püf noktaları.
Daha iyi bir yol yoksa, birisi daha iyi bir çözüm bulursa sorum yakın gelecekte faydalı olabilir.
EDIT2: Ben tam bir program (böylece hiçbir işlev hile) ve tüm kütüphaneler mümkün arıyorum. C ++ değil C olmalı. Şu anda, tüm programım şöyle:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
herhangi bir hile hoş geldiniz, sürece kodu kısaltmak (bu kod golf :)) ve sürece c ++ değil