Использование функций и массивов - PullRequest
2 голосов
/ 15 января 2011

Моя маленькая программа ниже должна взять 5 чисел от пользователя, сохранить их в массив целых чисел и использовать функцию для их распечатки.С уважением, это не работает, и мой вывод всегда "00000".Я не могу найти ошибку, поэтому буду рад любому совету.Спасибо.

#include <stdio.h>

void printarray(int intarray[], int n)
{
    int i;
    for(i = 0; i < n; i ++)
    {
        printf("%d", intarray[i]);
    }
}

int main ()    
{
    const int n = 5;
    int temp = 0;
    int i;
    int intarray [n];
    char check;

    printf("Please type in your numbers!\n");

    for(i = 0; i < n; i ++)
    {
        printf("");
            scanf("&d", &temp);         
        intarray[i] = temp;


        getchar();
        getchar();

    }

    printf("Do you want to print them out? (yes/no): ");
        scanf("%c", &check);

        if (check == 'y')
            printarray(intarray, n);


    getchar();
    getchar();

    return 0;
}

1 Ответ

5 голосов
/ 15 января 2011

Вы хотите %d, а не &d, в вашей строке формата scanf().Эту ошибку очень легко идентифицировать с помощью отладчика - я рекомендую узнать, как использовать тот, который лучше всего работает с остальной частью вашей системы разработки.

Компиляция с большим количеством предупрежденийвключенный, вероятно, обнаружил бы и этот.Что-то вроде «слишком много аргументов для формата».

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