使用scanf()获取多个值

我正在使用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);