使用函数和数组

时间:2011-01-15 05:29:58

标签: c

我的下面的小程序应该从用户那里获取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 个答案:

答案 0 :(得分:5)

您的%d格式字符串中需要&d,而不是scanf()。这个bug很容易通过使用debugger来识别 - 我建议学习如何使用与开发系统其余部分最合适的方法。

打开更多警告的编译也可能已经检测到这个。像“太多的格式参数”之类的东西。