39

ユーザーから一連の int を取得するために scanf() を使用しています。しかし、4 つの異なるプロンプトではなく、一度に 4 つの整数すべてをユーザーに提供してもらいたいと思います。次のようにして、1つの値を取得できることを知っています。

scanf( "%i", &minx);

しかし、ユーザーが次のようなことができるようにしたいと思います:

Enter Four Ints: 123 234 345 456

これを行うことは可能ですか?

4

8 に答える 8

63

次のように、1 回の呼び出しでこれを行うことができます。

scanf( "%i %i %i %i", &minx, &maxx, &miny, &maxy);
于 2009-09-11T18:20:45.243 に答える
10

はい。

int minx, miny, maxx,maxy;
do {
   printf("enter four integers: ");
} while (scanf("%d %d %d %d", &minx, &miny, &maxx, &maxy)!=4);

ループは、scanf が正常に読み取られたフィールド (または EOF) の数を返すことを示すためのものです。

于 2009-09-11T18:20:45.097 に答える
5
int a,b,c,d;
if(scanf("%d %d %d %d",&a,&b,&c,&d) == 4) {
   //read the 4 integers
} else {
   puts("Error. Please supply 4 integers");
}
于 2009-09-11T18:21:05.583 に答える
3

追加するだけで、配列も使用できます。

int i, array[4];
printf("Enter Four Ints: ");
for(i=0; i<4; i++) {
    scanf("%d", &array[i]);
}
于 2020-09-22T19:01:16.760 に答える
1

これを行うこともできますが、ユーザーは数字をスペースで区切る必要があります。

#include "stdio.h"

int main()
{
    int minx, x, y, z;

    printf("Enter four ints: ");
    scanf( "%i %i %i %i", &minx, &x, &y, &z);

    printf("You wrote: %i %i %i %i", minx, x, y, z);
}
于 2009-09-11T18:23:25.217 に答える
1

質問は古いですが、実際の例で誰かがこれから助けることができれば.

単一入力データの場合 -

int number;
printf("Please enter number : ");
scanf("%d", &number);

1 行に複数の入力データがある場合 -

int number1, number2;
printf("Please enter numbers one by one : ");
scanf("%d %d", &number1, &number2);
  • %d %dは 10 進形式用です。データ型に適したフォーマットを必要な数だけ使用できますspace
  • &number1, &number2-comma変数名の間で使用

より現実的な例が必要な場合は、この実用的な例を確認してください - https://devsenv.com/tutorials/how-to-take-input-and-output-in-c-programming

うまくいけば、これは誰かを助けるでしょう。

于 2021-06-02T15:32:36.240 に答える
-1
int a[1000] ;
for(int i = 0 ; i <= 3 , i++)
scanf("%d" , &a[i]) ;
于 2020-11-13T15:22:01.717 に答える