Melhor maneira de ler vários int em C do que scanf


17

Estou tentando ler 4 ints em C em um desafio de golfe e estou incomodado com o comprimento do código necessário para resolvê-lo:

scanf("%d%d%d%d",&w,&x,&y,&z)

são 29 caracteres, o que é enorme, considerando que o tamanho total do meu código é 101 caracteres. Posso me livrar do primeiro int, já que realmente não preciso dele, então recebo este código:

scanf("%*d%d%d%d",&x,&y,&z)

que é 27 caracteres, mas ainda é longo.

Então, minha pergunta é: existe alguma outra maneira (truques, funções, coisas de K&R) para ler entradas que eu não conheço que possam me ajudar a reduzir esse pedaço de código?

Muito obrigado.

EDIT: alguns usuários relataram que minha pergunta é semelhante às dicas de golfe em C

Embora este tópico contenha muitas informações úteis para reduzir os códigos C, não é relevante para o meu caso de uso real, pois não fornece uma maneira melhor de ler entradas.

Não sei se existe realmente uma maneira melhor do que scanf para ler vários números inteiros (é por isso que estou fazendo a pergunta em primeiro lugar), mas se houver, acho que minha pergunta é relevante e é suficientemente diferente da global dicas e truques.

Se não houver uma maneira melhor, minha pergunta ainda poderá ser útil em um futuro próximo se alguém encontrar uma solução melhor.

EDIT2: Estou procurando um programa completo (portanto, nenhum truque de função) e todas as bibliotecas possíveis. Ele precisa ser C, não C ++. Atualmente, todo o meu programa se parece com isso:

main(w,x,y,z){scanf("%*d%d%d%d",&x,&y,&z)}

quaisquer truques são bem-vindos, desde que encurtem o código (este é o código golf :)) e contanto que não seja c ++


4
Normalmente, você pode enviar uma função em vez de programas completos, o que permite que você tome essas 4 ints como argumentos.
Denker 15/05

Entendo, obrigado pelo seu comentário, mas no meu caso, ele precisa ser um programa completo.
BusyBeingDelicious

12
1) @BusyBeingDelicious, bem-vindo ao PPCG! :) 2) Para os eleitores próximos, essa não é uma questão geral de programação . Esta é uma pergunta de dicas que pede ajuda sobre o código de golfe , que é absolutamente sobre o assunto .
Martin Ender

11
Possível duplicado de dicas para golfe em C
Mego

3
Caros eleitores próximos: Isso está muito claro no tópico. Por que você ainda está tentando fechar isso?
DJMcMayhem

Respostas:


2

Você pode escrever uma função em vez de um programa como sua submissão. Em C, você pode omitir intas assinaturas de função:

f(w,x,y,z){}

9
O OP mencionou em um comentário que, nesse caso, precisa ser um programa completo.
Alex A.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.