本程序定义了一个findmax()函数,该函数的作用是找到一维数组中的最大值,函数中定义了指针变量max,max初值为数组的首地址,将max的值与数组中的每个值进行比较,如果数组中的元素大于max所指向的元素的值,则将该元素赋给max,以此类推,直到整个一维数组的元素全部比较完毕,此时max所指向的值就是一维数组中的最大值,在主函数中定义了一个指针变量max,该变量的值就是返回findmax的返回值,即一个地址,通过访问该地址可以获得这个一维数组的最大值。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//定义最大值的函数
int* findmax(int* p, int n)
{
int i, * max;
max = p;
for (i = 0; i < 10; i++)
{
if (*(p + i) >= *max)
{
max = p + i;
}
}
return max;
}
int main()
{
int a[10], * max, i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
max = findmax(a, 10);
printf("最大的数据为:%d", * max);
}