数组内容未正确显示

时间:2016-02-20 03:15:18

标签: c arrays input output

C初学者,我有一个程序正在处理,不幸的是程序要么没有正确读取数组,要么它没有正确显示内容。

这就是我所拥有的

int main()
{
    int size;     // the number of elements 

    printf("Enter size of the array: \n");
    scanf("%d", &size);

    double *array = malloc(size*sizeof(int));  //memory allocated using malloc
    if (array == NULL)
    {
        printf("Error! memory not allocated.");
        exit(0);
    }
    printf("Enter elements of array: \n");
    for (int i = 0; i<size; ++i)
    {
        scanf("%d", &array[i]);
    }

    printf("Results:");

    double min = array[0]; 
    printf("\nmin = %.3lf ", min);
    double max = array[size - 1]; 
    printf("\nmax = %.3lf", max);

这是我的输出

enter image description here

1 个答案:

答案 0 :(得分:0)

  

double array = malloc(size sizeof(int));

应该是:

double *array = malloc( size * sizeof(double) );
  

scanf(&#34;%d&#34;,&amp; array [i]);

这里错误的控制字符串应为%lf为double,而不是%d