我正在使用scanf()从用户那里获取一组int.但我希望用户一次提供所有4个整数而不是4个不同的提示.我知道我可以通过以下方式获得一个价值:
scanf( "%i", &minx);
Run Code Online (Sandbox Code Playgroud)
但我希望用户能够做到这样的事情:
Enter Four Ints: 123 234 345 456
Run Code Online (Sandbox Code Playgroud)
是否有可能做到这一点?
Ree*_*sey 45
您可以通过一次调用完成此操作,如下所示:
scanf( "%i %i %i %i", &minx, &maxx, &miny, &maxy);
Run Code Online (Sandbox Code Playgroud)
是.
int minx, miny, maxx,maxy;
do {
printf("enter four integers: ");
} while (scanf("%d %d %d %d", &minx, &miny, &maxx, &maxy)!=4);
Run Code Online (Sandbox Code Playgroud)
循环只是为了证明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");
}
Run Code Online (Sandbox Code Playgroud)
小智 5
只是补充一下,我们也可以使用数组:
int i, array[4];
printf("Enter Four Ints: ");
for(i=0; i<4; i++) {
scanf("%d", &array[i]);
}
Run Code Online (Sandbox Code Playgroud)