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);
这是我的输出
答案 0 :(得分:0)
double array = malloc(size sizeof(int));
应该是:
double *array = malloc( size * sizeof(double) );
scanf(&#34;%d&#34;,&amp; array [i]);
这里错误的控制字符串应为%lf
为double,而不是%d