Функция, аналогичная Java NextInt в C - PullRequest
0 голосов
/ 01 октября 2018

В Java вы можете использовать Scanner.nextInt для получения следующего входного значения.Я пытался сделать это C:

#include <stdio.h>
#include <stdlib.h>



int main()
{

    printf("How long is your array?");
    int len;
    scanf("%d",&len);
    printf("Enter %d numbers:",len);
    int array[len];
    for (int i=0; i<len; i++){
        scanf("%d", &array[i]);
    }
    for (int i=0; i<len; i++){
    printf(array[i]);}

    return 0;
}

Но он остановится перед печатью массива, что заставляет меня думать, что это ложный метод.

1 Ответ

0 голосов
/ 01 октября 2018

[Примечание: вопрос был отредактирован после написания этого ответа.]

printf(array); не будет работать.Вы должны печатать элементы массива индивидуально, используя цикл, аналогичный тому, который вы использовали для чтения значений.C имеет очень ограниченные возможности для автоматической работы с агрегатами.

Кроме того, scanf("%d", array[i]); должно быть scanf("%d", &array[i]);.Вам нужно указать scanf , где , чтобы поместить значение, которое он читает.Передача array[i] сообщит scanf , что является текущим значением.&array[i] - это адрес, где array[i].(При использовании printf вы передадите array[i], потому что printf требуется только значение для печати. ​​Ему не нужно знать, где оно находится.)

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