Estoy tratando de leer 4 ints en C en un desafío de golf y me preocupa la longitud del código que necesito para resolverlo:
scanf("%d%d%d%d",&w,&x,&y,&z)
eso es 29 caracteres, lo cual es enorme teniendo en cuenta que el tamaño total de mi código es de 101 caracteres. Puedo deshacerme del primer int ya que realmente no lo necesito, así que obtengo este código:
scanf("%*d%d%d%d",&x,&y,&z)
que son 27 caracteres, pero aún es largo.
Entonces, mi pregunta es, ¿hay alguna otra forma (trucos, funciones, cosas de K&R) para leer entradas que no conozco y que puedan ayudarme a reducir este bit de código?
Muchas gracias.
EDITAR: algunos usuarios han informado que mi pregunta es similar a Consejos para jugar golf en C
Si bien este tema contiene una gran cantidad de información útil para acortar los códigos C, no es relevante para mi caso de uso real, ya que no proporciona una mejor manera de leer las entradas.
No sé si en realidad hay una mejor manera que scanf para leer múltiples enteros (es por eso que hago la pregunta en primer lugar), pero si la hay, creo que mi pregunta es relevante y es lo suficientemente diferente a la global. consejos y trucos.
Si no hay una mejor manera, mi pregunta aún puede ser útil en el futuro cercano si alguien encuentra una mejor solución.
EDIT2: Estoy buscando un programa completo (por lo que no hay truco de función) y todas las bibliotecas posibles. Tiene que ser C, no C ++. Actualmente, todo mi programa se ve así:
main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}
cualquier truco es bienvenido, siempre y cuando acorte el código (este es el código golf :)) y siempre que no sea c ++
Respuestas:
Puede escribir una función en lugar de un programa como su envío. En C puede omitir
int
de las firmas de funciones:fuente