我正在使用 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);
}
这个问题很老了,但是如果有人可以通过现实生活中的例子来帮助解决这个问题。
对于单输入数据 -
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
希望,这会帮助某人。
可用于获取多个值scanf()
int r,m,v,i,e,k;
scanf("%d%d%d%d%d%d",&r,&m,&v,&i,&e,&k);
int a[1000] ;
for(int i = 0 ; i <= 3 , i++)
scanf("%d" , &a[i]) ;