张邦焱 发表于 2021-3-12 00:57:57

c函数

//比较10个数的大小
#include<stdio.h>
int main()
{
        float max(float array[]);
        float a, m;
        int i ;

        printf("please input 10 numbers:\n");
        for (i = 0; i < 10; i++)
                scanf_s("%f", &a);
        m = max(a);
        printf("m=%fn=%d", m);
        return 0;
}
float max(float array[])
{
        int i;
        float m = array;
        for (i = 1; i < 10; i++)
        {
                if (m>array)
                {
                        m = array;       
                }
        }
        return m;
}

为什么float max(float array[]);(形参)m = max(a);(实参)这样的函数不行,说是float类型的实参与float*类型的形参不兼容。


#include<stdio.h>
int main()
{
        float max(float x, float y);
        float a;
        int i, n ;

        printf("please input 10 numbers:\n");
        for (i = 0; i < 10; i++)
                scanf_s("%f", &a);
        float m = a;
        for (i = 1; i < 10; i++)
        {
                if (max(m, a)>m)
                {
                        m = max(m, a);
                        n = i;
                }
        }
        printf("m=%fn=%d", m, n);
        return 0;
}
float max(float x, float y)
{
        return (x > y ? x : y);
}

而float max(int x, int y); (形参)max(m, a);(实参) 这样可以。





巴巴鲁 发表于 2021-3-12 08:40:33

第一个程序形参是个数组,你传进去一个值
页: [1]
查看完整版本: c函数