【发布时间】:2015-03-28 13:19:22
【问题描述】:
正如标题所示,我需要编写一个函数,该函数返回一个指向数组中最大数的指针,这些函数获取一个指向双精度数组的指针及其大小。此外,我需要编写一个将使用此函数的主函数。 这是我写的代码:
#include <stdio.h>
#include <stdlib.h>
void BigEl(double* arr, double arrSize);
void BigEl(double* arr, double arrSize)
{
int i;
double maximum, *x;
maximum = arr[0];
for (i = 1; i < arrSize; i++)
{
if (arr[i]>maximum)
{
maximum = arr[i];
}
}
*x = maximum;
}
void main()
{
double myarr[10];
int i;
printf("Please insert 10 numbers to the array\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &myarr[i]);
}
BigEl(myarr, 10);
}
我收到此错误:
Error 1 error C4700: uninitialized local variable 'x' used
我不明白我做错了什么,因为我确实初始化了 x。 任何形式的帮助表示赞赏,此外,请告诉我我的代码的想法是否正确,因为我不确定我是否正确理解了这个问题。
【问题讨论】:
-
你没有从函数返回任何东西。
-
@hacks 虽然是真的,但这不是产生编译器错误的原因(这是 OP 的问题)。
-
顺便说一句
"%d"为int -
@abligh;我没这么说。我的评论是对标题的回应。
-
OT:至少是
int main(void)。
标签: c arrays function pointers