这是我执行的任务。指针与本地变量的关系
编写一个接受整数数组和大小的C++函数,并找到: a。 b。数组元素的总和 b。数组元素的平均值 c。数组中的最小值和最大值 在主程序中,使用动态内存分配声明一个由10个整数组成的数组,并调用上述函数。显示主功能内的输出。 (使用 参考输出值)。
//USER DEFINED FUNCTION " func "
void func(int arr[], int size, int *sum, int *avg, int *min, int *max)
{
*sum = 0;
*min = arr[0];
*max = arr[0];
*avg = 0;
//calculations for sum
for (int i = 0; i < size; i++)
{
*sum = *sum + arr[i];
}
//calculations for avg
*avg = *sum/size;
//calculations for minimum
for (int i = 0; i < size; i++)
{
if (*min > arr[i])
*min = arr[i];
}
//calculations for maximum
for (int i = 0; i < size; i++)
{
if (*max < arr[i])
{
*max = arr[i];
}
}
}
void main()
{
int *arr;
int size;
cout << "enter size of array " << endl;
cin >> size;
arr = (int*) calloc(size, sizeof(int));
for (int i = 0; i < size; i++)
{
cout << "enter element : " << endl;
cin >> arr[i];
}
int sum, avg, min, max;
func(arr, size, &sum, &avg, &min, &max);
cout << "sum is : " << sum << "\n avg is : " << avg << endl;
cout << "minimum is : " << min << endl;
cout << "the maximum is : " << max << endl;
getch();
}
那是我的代码,它的工作的罚款,并给了我想要的结果,但他们这方面的任何替代,以及因为在“功能”的身体,我使用*分,* MAX,*平均,因为我已经通过了尽管我可以简单地通过引用传递值,并使用“min”而不是“* min”,但通过指针获取值。我想要一个关于如何通过指针传递值的建议,但不要在用户定义的函数体内使用一个解引用运算符,就像这里的“func”一样。
不要在C++中使用'calloc'。 –
阅读[参考资料](https://www.tutorialspoint.com/cplusplus/cpp_references.htm)。 –
Ajay即使我在主函数中使用new和delete操作符,但如果“min”,我将不得不使用“* min”。 –