Лучший способ прочитать несколько int в C, чем scanf


17

Я пытаюсь прочитать 4 ints в C в игре в гольф, и меня беспокоит длина кода, который мне нужен для ее решения:

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

это 29 символов, что огромно, учитывая, что мой общий размер кода составляет 101 символ. Я могу избавиться от первого int, так как он мне действительно не нужен, поэтому я получаю этот код:

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

что составляет 27 символов, но это все еще долго.

Поэтому мой вопрос: есть ли другой способ (трюки, функции, K & R) для чтения целых чисел, о которых я не знаю, которые могли бы помочь мне уменьшить этот бит кода?

Большое спасибо.

РЕДАКТИРОВАТЬ: некоторые пользователи сообщили, что мой вопрос похож на Советы по игре в гольф в C

Хотя эта тема содержит много полезной информации для сокращения кодов C, она не имеет отношения к моему реальному варианту использования, поскольку не обеспечивает лучшего способа чтения входных данных.

Я не знаю, существует ли на самом деле лучший способ, чем scanf, читать несколько целых чисел (поэтому я задаю вопрос в первую очередь), но если так и есть, я думаю, что мой вопрос актуален и достаточно отличается от глобального Советы и приемы.

Если нет лучшего способа, мой вопрос все еще может быть полезен в ближайшем будущем, если кто-то найдет лучшее решение.

РЕДАКТИРОВАТЬ 2: Я ищу полную программу (так что без функции трюк) и все возможные библиотеки. Это должен быть C, а не C ++. В настоящее время вся моя программа выглядит так:

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

любые трюки приветствуются, если они сокращают код (это код гольф :)) и до тех пор, пока это не c ++


4
Обычно вы можете передать функцию вместо полных программ, которая позволяет вам принимать эти 4 числа в качестве аргументов.
Денкер

Я вижу, спасибо за ваш комментарий, но в моем случае это должна быть полная программа.
BusyBeingDelicious

12
1) @BusyBeingDelicious, добро пожаловать в PPCG! :) 2) Для близких избирателей это не общий вопрос программирования . Это вопрос подсказок, который просит о помощи в гольф- коде, который абсолютно по теме .
Мартин Эндер

1
Возможный дубликат советов для игры в гольф в C
Mego

3
Уважаемые близкие избиратели! Это очень ясно по теме. Почему ты все еще пытаешься это закрыть?
DJMcMayhem

Ответы:


2

Вы можете написать функцию вместо программы в качестве представления. В C вы можете опустить intподписи функций:

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

9
ОП упомянул в комментарии, что в этом случае это должна быть полная программа.
Алекс А.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.