0
点赞
收藏
分享

微信扫一扫

C语言自学笔记

RJ_Hwang 2022-02-26 阅读 123
c语言

指针的在函数中的两个基本用法:

用法一:

  • 当函数需返回多个值时,某些值则需要通过指针返回

  • 传入的参数实际上是需要保存带回的结果的变量

例如:找一列数中的最大和最小值并输出

#include <stdio.h>
void minmax(int a[],int len,int *min,int *max);
int main(void)
{
    int a[]={1,2,3,4,5,6,7,8,9,12,13,17,21,23,55};
    int min,max;
    minmax(a,sizeof(a)/sizeof(a[0]),&min,&max);
    printf("max=%d,min=%d",max,min);
    return 0;
}
void minmax(int a[],int len,int *min,int *max)
{
    int i;
    *min=*max=a[0];
    for(i=0;i<len;i++)
    {
        if(a[i]<*min)
            *min=a[i];
        if(a[i]>*max)
            *max=a[i];
    }
}

用法二:

  • 函数返回运算的状态,结果通过指针返回

  • 常用的套路是让函数返回特殊的不属于有效范围内的值来表示出错

例如:做两个整数的除法,若除法成功则函数返回1并输出,否则返回0

#include <stdio.h>
int divide(int a,int b,int *result);
int main()
{
    int a=5,b=2;
    int c;
    if(divide(a,b,&c))
        printf("%d/%d=%d",a,b,c);
    return 0;
}
int divide(int a,int b,int *result)
{
    int ret =1;
    if(b==0)
        ret=0;
    else
        *result=a/b;
    return ret;
}
举报

相关推荐

0 条评论