[英]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.