scanfよりもCで複数のintを読み取るより良い方法


17

ゴルフチャレンジでCの4つのintを読み取ろうとしていますが、解決するために必要なコードの長さに悩まされています。

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

これは29文字です。これは、合計コードサイズが101文字であることを考えると、非常に大きなものです。本当に必要ないので、最初のintを取り除くことができます。そのため、次のコードを取得します。

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

これは27文字ですが、まだ長いです。

私の質問は、私が知らないintを読み取る他の方法(トリック、関数、K&Rなど)があり、このコードを減らすのに役立つでしょうか?

どうもありがとう。

編集:一部のユーザーは、私の質問はCでのゴルフのヒントに似ていると報告しています

このトピックにはCコードを短縮するための多くの有用な情報が含まれていますが、入力を読み取るためのより良い方法を提供しないため、実際のユースケースには関係ありません。

scanfよりも複数の整数を読み取るための実際の方法が実際にあるかどうかはわかりません(それが最初に質問をしている理由です)ヒントとコツ。

より良い方法がなければ、誰かがより良い解決策を見つけたとしても、私の質問は近い将来に役立つことがあります。

EDIT2:私は完全なプログラム(機能のトリックはありません)と可能なすべてのライブラリを探しています。C ++ではなく、Cである必要があります。現在、私のプログラム全体は次のようになっています。

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

コードを短縮する限り(これはコードゴルフ:))、c ++でない限り、どんなトリックでも大歓迎です


4
通常、これらの4つのintを引数として使用できる完全なプログラムの代わりに関数を送信できます。
デンカー

コメントをありがとうございますが、私の場合は完全なプログラムである必要があります。
BusyBeingDelicious

12
1)@ BusyBeingDelicious、PPCGへようこそ!:) 2)近い投票者にとって、これは一般的なプログラミングの質問ではありません。これは絶対に話題になっているゴルフのコードの助けを求めるヒント質問です。
マーティンエンダー


3
親愛なる投票者の皆様へ:これは非常に明確なトピックです。なぜあなたはまだこれを閉じようとしているのですか?
DJMcMayhem

回答:


2

提出物としてプログラムの代わりに関数を書くことができます。Cではint、関数シグネチャから省略することができます。

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

9
OPはコメントで、この場合は完全なプログラムである必要があると述べています。
アレックスA.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.