Как принять 3 аргумента как int - PullRequest
0 голосов
/ 03 ноября 2010

Например:

console> please enter 3 digits: 1 2 3

Я только знаю, как принять 1 цифру, используя scanf:

scanf("%d", &space);

Ответы [ 2 ]

8 голосов
/ 03 ноября 2010

Вы можете прочитать несколько номеров с помощью scanf

int a, b, c;
scanf("%d %d %d", &a, &b, &c);
4 голосов
/ 03 ноября 2010

Вы пробовали:

scanf("%d %d %d", &num1, &num2, &num3);

Это будет хорошо работать, если вы знаете, что хотите только три. Если вам нужно переменное число, вам нужно сделать это в цикле, что-то вроде:

#include <stdio.h>

int main (void) {
    int i, ch, rc, val, count;

    // Loop until we get a valid number.

    rc = 0;
    while (rc != 1) {
        printf ("Enter count: "); fflush (stdout);
        rc = scanf(" %d", &count);

        // Suck up all characters to line end if bad conversion.

        if (rc != 1) while ((ch = getchar()) != '\n');
    }

    // Do once for each number.

    for (i = 1; i <= count; i++) {
        rc = 0;
        while (rc != 1) {
            printf ("\nEnter #% 2d: ", i); fflush (stdout);
            rc = scanf(" %d", &val);
            if (rc != 1) while ((ch = getchar()) != '\n');
        }
        printf ("You entered %d\n", val);
    }

    return 0;
}

Запуск этого дает вам:

Enter count: 5

Enter # 1: 10
You entered 10

Enter # 2: 20
You entered 20

Enter # 3: 30
You entered 30

Enter # 4: 40
You entered 40

Enter # 5: 99
You entered 99
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...