मैं एक गोल्फ चुनौती में सी में 4 ints पढ़ने की कोशिश कर रहा हूं और मुझे उस कोड की लंबाई से परेशान है जिसे मुझे इसे हल करने की आवश्यकता है:
scanf("%d%d%d%d",&w,&x,&y,&z)
यह 29 वर्ण है, जो यह देखते हुए बहुत बड़ा है कि मेरे कुल कोड का आकार 101 वर्ण है। मैं पहले इंट से छुटकारा पा सकता हूं क्योंकि मुझे वास्तव में इसकी आवश्यकता नहीं है, इसलिए मुझे यह कोड मिलता है:
scanf("%*d%d%d%d",&x,&y,&z)
जो 27 वर्णों का है, लेकिन यह अभी भी लंबा है।
तो मेरा सवाल यह है कि क्या कोई अन्य तरीका (ट्रिक्स, फ़ंक्शंस, के एंड आर स्टफ) है जो इनट्स को पढ़ने के लिए है जो मुझे नहीं पता है कि मुझे इस कोड को कम करने में मदद कर सकता है?
बहुत बहुत धन्यवाद।
EDIT: कुछ उपयोगकर्ताओं ने बताया है कि मेरा प्रश्न C में गोल्फ के लिए टिप्स के समान है
हालांकि इस विषय में C कोड को छोटा करने के लिए बहुत सारे उपयोगी सुझाव हैं, यह मेरे वास्तविक उपयोग के मामले के लिए प्रासंगिक नहीं है क्योंकि यह इनपुट पढ़ने का एक बेहतर तरीका प्रदान नहीं करता है।
मुझे नहीं पता कि क्या वास्तव में कई पूर्णांकों को पढ़ने के लिए स्कैनफ से बेहतर तरीका है (इसीलिए मैं पहली जगह में सवाल पूछ रहा हूँ), लेकिन अगर वहाँ है, तो मुझे लगता है कि मेरा सवाल प्रासंगिक है और वैश्विक रूप से पर्याप्त रूप से अलग है सुझाव और तरकीब।
यदि कोई बेहतर तरीका नहीं है, तो मेरा प्रश्न अभी भी निकट भविष्य में उपयोगी हो सकता है यदि कोई बेहतर समाधान ढूंढता है।
EDIT2: मैं एक पूर्ण कार्यक्रम (ताकि कोई फंक्शन ट्रिक) नहीं खोज पा रहा हूं और सभी संभवताएं पूरी हो गई हैं। यह C होना चाहिए, C ++ नहीं। वर्तमान में, मेरा पूरा कार्यक्रम इस तरह दिखता है:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
किसी भी चाल का स्वागत है, जब तक यह कोड को छोटा कर देता है (यह कोड गोल्फ है :)) और जब तक यह c ++ नहीं है