题
我正在使用scanf()从用户那里获取一组int。但我希望用户一次提供所有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");
}
可以这样做,但是用户必须用空格分隔数字:
#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);
不隶属于 StackOverflow