簡體   English   中英

使用 scanf() 獲取多個值

[英]Getting multiple values with scanf()

我正在使用 scanf() 從用戶那里獲取一組整數。 但我希望用戶一次提供所有 4 個整數而不是 4 個不同的提示。 我知道我可以通過以下方式獲得一個價值:

scanf( "%i", &minx);

但我希望用戶能夠執行以下操作:

Enter Four Ints: 123 234 345 456

是否有可能做到這一點?

您可以通過一次調用完成此操作,如下所示:

scanf( "%i %i %i %i", &minx, &maxx, &miny, &maxy);

是的。

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

該循環只是為了證明 scanf 返回成功讀取的字段數(或 EOF)。

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");
}

補充一點,我們也可以使用數組:

int i, array[4];
printf("Enter Four Ints: ");
for(i=0; i<4; i++) {
    scanf("%d", &array[i]);
}

可以這樣做,但是用戶必須用空格分隔數字:

#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);
}

可通過scanf()獲取多個值

int r,m,v,i,e,k;

scanf("%d%d%d%d%d%d",&r,&m,&v,&i,&e,&k);

這個問題很老,但是如果有人可以通過現實生活中的例子來幫助解決這個問題。

對於單輸入數據 -

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

對於一行上的多輸入數據 -

int number1, number2;
printf("Please enter numbers one by one : ");
scanf("%d %d", &number1, &number2);
  • %d %d用於十進制格式。 您可以使用適合您的數據類型的格式,只需一個space
  • &number1, &number2 - 在變量名之間使用comma

如果需要更多真實示例,請查看此實際示例 - https://devsenv.com/tutorials/how-to-take-input-and-output-in-c-programming

希望,這會幫助某人。

int a[1000] ;
for(int i = 0 ; i <= 3 , i++)
scanf("%d" , &a[i]) ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM