Я использую 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"); }
Сдается для получения нескольких значений с scanf()
scanf()
int r,m,v,i,e,k; scanf("%d%d%d%d%d%d",&r,&m,&v,&i,&e,&k);
Может сделать это, но тогда пользователь должен разделить числа пробелом:
#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); }