获取多个值与scanf()的(Getting multiple values with scanf(

2019-07-17 18:18发布

我使用scanf()函数来获得一组从用户的int。 不过,我想用户在提供所有4个整数一次,而不是4个不同的promps。 我知道我可以做得到一个值:

scanf( "%i", &minx);

不过,我想用户能够像做:

Enter Four Ints: 123 234 345 456

是否有可能做到这一点?

Answer 1:

您可以用单呼,像这样做:

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


Answer 2:

是。

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

循环只是证明scanf函数返回成功地读取(或EOF)字段的数量。



Answer 3:

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


Answer 4:

能做到这一点,但随后,用户必须通过一个空格分隔的数字:

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


Answer 5:

尚可用于获取多个值与scanf()

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

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


文章来源: Getting multiple values with scanf()
标签: c scanf