文档章节

数组指针作为函数参数,求数组中的最大值和最小值

努力喵
 努力喵
发布于 2015/04/20 00:00
字数 279
阅读 15
收藏 0
#include <stdio.h>
void maxminvalue(int b[], int n); /*propotype*/

int max, min;/*define global variables*/
void main()
{
    int i, a[] = {21,34,11,45,89,26,87,39,63,50}, n;
    n = sizeof(a)/sizeof(a[0]);
    maxminvalue(a, n);                     /*call function*/
    printf("min=%d, max=%d\n",min,max);
}
void maxminvalue(int b[], int n)
{
    int i;
    max=min=b[0];           /*initialization*/
    for (i = 1; i < n; i++)
    {
        if (b[i] < min)
            min = b[i];
        else if(b[i] > max)
            max = b[i];
    }
}

第二种实现形式——形参是指针,实参是数组名:

#include <stdio.h>
void maxminvalue(int *b, int n);/*propotypes*/
int max, min;
void main()
{
    int i, a[] = {21,34,11,45,89,26,87,39,63,50}, n;
    n = sizeof(a)/sizeof(a[0]);
    maxminvalue(a,n);                      /*call function, actual paraments is array name*/
    printf("min = %d, max = %d\n",min,max);
}
void maxminvalue(int *b, int n)
{
    int i;
    int *p, *end = b+n;
    max = min = *b;
    for(p = b+1; p < end; p++)
    {
        if (*p < min)
            min = *p;
        else if(*p > min)
            max = *p;
    }

第三种:形参是指针,实参也是指针:

#include <stdio.h>
void maxminvalue(int *b, int n);/*propotypes*/
int max, min;
void main()
{
    int i, a[] = {21,34,11,45,89,26,87,39,63,50}, n;
    int *p = a;
    n = sizeof(a)/sizeof(a[0]);
    maxminvalue(p,n);
    printf("min = %d, max = %d\n",min,max);
}
void maxminvalue(int *b, int n)
{
    int i;
    int *p, *end = b+n;
    max = min = *b;
    for(p = b+1; p < end; p++)
    {
        if (*p < min)
            min = *p;
        else if(*p > min)
            max = *p;
    }
}


© 著作权归作者所有

努力喵
粉丝 5
博文 105
码字总数 34117
作品 0
广州
私信 提问
reduce实现filter,map 数组扁平化等

函数接收一个函数作为参数,作为参数的函数接收三个参数值,分别是遍历数组的每一项元素,元素的索引和数组本身。这三个参数刚好和reduce函数接收的第一个函数参数的第2、3、4个参数是对应的...

nanfeiyan
05/01
0
0
C Primer Plus 第10章 数组和指针 编程练习答案

1、修改程序清单10.7中的程序rain,使它不使用数组下标,而是使用指针进行计算(程序中仍然需要声明并初始化数组)。 2、编写一个程序,初始化一个double数组,然后把数组内容复制到另外两个...

idreamo
2016/08/14
261
0
JavaScript 专题之如何求数组的最大值和最小值

JavaScritpt 专题系列第八篇,讲解多种方式求数组的最大值和最小值 前言 取出数组中的最大值或者最小值是开发中常见的需求,但你能想出几种方法来实现这个需求呢? Math.max JavaScript 提供...

冴羽
2017/07/19
0
0
JavaScript求数组的最大值方法总结

前言 取出数组中的最大值或者最小值是开发中常见的需求,但你能想出几种方法来实现这个需求呢? Math.max JavaScript 提供了 Math.max 函数返回一组数中的最大值,用法是: 值得注意的是: ...

卟想苌亣
2017/11/19
0
0
你应该知道的JS: reduce的n种应用

是ES5中新引入的一个API。 假如你还不知道reduce的用法,请先阅读下MDN文档中关于reduce的介绍。(不得不说,MDN文档太强大了,里面列举了很多有用的方法) 本文将介绍借助reduce函数,利用其...

AlexLee
04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
7分钟前
1
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
今天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
今天
4
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
今天
0
0
Linux创建yum仓库

第一步、搞定自己的光盘 #创建文件夹 mkdir -p /media/cdrom #挂载光盘 mount /dev/cdrom /media/cdrom #编辑配置文件使其永久生效 vim /etc/fstab 第二步,编辑yun源 vim /ect yum.repos.d...

究极小怪兽zzz
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部