0
    for(i=0;i<t;++i)
{
    scanf("%d",&arr[i]);
    scanf("%d",&brr[i]);
    a=arr[i];
    b=brr[i];
}

このコード ブロックは、2 つの別々の行で入力を取得しています (Enter キーを押した後)、例
12
45
両方の数値を 1 行で取得するように変更する方法 (スペースを押した後)、例 12 45


4

1 に答える 1

6

両方の数字を 1 行で取得するように変更する方法 (スペースを押した後)

あなたのコードはすでにこれを行っています (「12 45」を渡すと、すでに機能します - それらの間に任意の量の空白を置くことができます)。scanf必要に応じて、次のような単一の呼び出しを使用できます。

scanf("%d %d", &arr[i], &brr[i]);

scanf を使用する場合は、戻りコード、つまりスキャンされた要素の数を確認するのが賢明です。

rc = scanf(...);
if (rc != 2)
    /* We scanned less than we expected! */
于 2013-10-02T17:47:59.207 に答える