Ich versuche, 4 Zoll in C in einer Golfherausforderung zu lesen, und die Länge des Codes, den ich brauche, um ihn zu lösen, stört mich:
scanf("%d%d%d%d",&w,&x,&y,&z)
Das sind 29 Zeichen, das ist riesig, wenn man bedenkt, dass meine gesamte Codegröße 101 Zeichen beträgt. Ich kann das erste int loswerden, da ich es nicht wirklich brauche, also bekomme ich diesen Code:
scanf("%*d%d%d%d",&x,&y,&z)
Das sind 27 Zeichen, aber es ist immer noch lang.
Meine Frage ist also, gibt es eine andere Möglichkeit (Tricks, Funktionen, K & R-Zeug), um Ints zu lesen, von denen ich nichts weiß, was mir helfen könnte, dieses Stück Code zu reduzieren?
Danke vielmals.
BEARBEITEN: Einige Benutzer haben berichtet, dass meine Frage Tipps zum Golfen in C ähnlich ist
Dieses Thema enthält zwar viele nützliche Informationen zum Kürzen von C-Codes, ist jedoch für meinen tatsächlichen Anwendungsfall nicht relevant, da es keine bessere Möglichkeit zum Lesen von Eingaben bietet.
Ich weiß nicht, ob es tatsächlich einen besseren Weg gibt als scanf, um mehrere Ganzzahlen zu lesen (deshalb stelle ich die Frage an erster Stelle), aber wenn ja, denke ich, dass meine Frage relevant ist und sich hinreichend von der globalen Frage unterscheidet Tipps und Tricks.
Wenn es keinen besseren Weg gibt, kann meine Frage auch in naher Zukunft nützlich sein, wenn jemand eine bessere Lösung findet.
EDIT2: Ich suche ein volles Programm (also keinen Funktionstrick) und alle möglichen Librairies. Es muss C sein, nicht C ++. Derzeit sieht mein gesamtes Programm so aus:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
Tricks sind willkommen, solange sie den Code verkürzen (das ist Code Golf :)) und solange es nicht C ++ ist
Antworten:
Sie können eine Funktion anstelle eines Programms als Vorlage schreiben. In C können Sie die
int
Funktionssignaturen weglassen :quelle