J'essaie de lire 4 pouces en C dans un défi de golf et je suis gêné par la longueur du code dont j'ai besoin pour le résoudre:
scanf("%d%d%d%d",&w,&x,&y,&z)
c'est 29 caractères, ce qui est énorme étant donné que la taille totale de mon code est de 101 caractères. Je peux me débarrasser du premier entier car je n'en ai pas vraiment besoin, donc je reçois ce code:
scanf("%*d%d%d%d",&x,&y,&z)
ce qui fait 27 caractères, mais c'est encore long.
Donc ma question est, existe-t-il un autre moyen (astuces, fonctions, trucs K&R) pour lire des entiers que je ne connais pas qui pourrait m'aider à réduire ce bout de code?
Merci beaucoup.
EDIT: certains utilisateurs ont signalé que ma question est similaire à Conseils pour le golf en C
Bien que cette rubrique contienne de nombreuses informations utiles pour raccourcir les codes C, elle n'est pas pertinente pour mon cas d'utilisation réel car elle ne fournit pas une meilleure façon de lire les entrées.
Je ne sais pas s'il y a en fait un meilleur moyen que scanf pour lire plusieurs entiers (c'est pourquoi je pose la question en premier lieu), mais si c'est le cas, je pense que ma question est pertinente et suffisamment différente de celle globale trucs et astuces.
S'il n'y a pas de meilleur moyen, ma question peut toujours être utile dans un proche avenir si quelqu'un trouve une meilleure solution.
EDIT2: Je recherche un programme complet (donc pas de truc de fonction) et toutes les librairies possibles. Ce doit être C, pas C ++. Actuellement, tout mon programme ressemble à ceci:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
toute astuce est la bienvenue, tant qu'elle raccourcit le code (c'est le code golf :)) et tant que ce n'est pas c ++
Réponses:
Vous pouvez écrire une fonction au lieu d'un programme comme soumission. En C, vous pouvez omettre
int
des signatures de fonction:la source