要求:输入10个整数后输出这些数中的最大值
说明:与昨天相比较而言,我们今天采用的方法是,让函数的返回值为指针进行解题
同样的利用数组遍历一遍元素,进行比较,但最后返回的是指针
int *FindMax(int *p, int n)
{
int i, *max;
max = p;
for (i = 0; i < n; i++)
if (*(p + i) > *max)
max = p + i;
return max;
}
运行结果如下
完整代码如下
#include <stdio.h>
int *FindMax(int *p, int n)
{
int i, *max;
max = p;
for (i = 0; i < n; 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\n", *max);
return 0;
}