标题:大一新手一个,想求助大神,帮我看看我的程序哪里出问题
只看楼主
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
得分:0 
include <stdio.h>
float
maxelement( float *a, int size );   //函数的声明,返回值为一个浮点型的变量,形参中有一个指针和一个整形。问:指针的作用是什么?
                                    //当向函数传递一个数组的时候,数组名会退化为指针。
                                    //可以这样改maxelement( float a[], int size );还是用数组,这样你应该能看的懂一点
                                     问;maxelement( float a[], int size )这里的数组不用规定长度吗
int
main( void )
{
    float A[ 5 ];//以下四行我都理解
    int i;

    for( i = 0; 5 > i; ++i )
        scanf( "%f", &A[ i ] );

    printf( "%f", maxelement( A, 5 ) );// 问:  maxelement(A,5)是什么意思,为什么这样写?
                                       // maxelement()是调用这个函数,A是数组名,5是数组元素上限。
                                       //函数maxelement()最终是不是返回一个值,再用printf函数打印的时候不用先引用那个函数,然后再先将一个变量赋值给那个函数,然后再打印出来吗



    return 0;
}

float
maxelement( float *a, int size )//函数的定义    //同样,这里也要改一下maxelement( float a[], int size );
{
    int i;
    float max;

    for( i = 1, max = a[ 0 ]; size > i; ++i )   //问:size是什么,为什么不用赋一个初始值
        max = max > a[ i ]? max : a[ i ];//size是形参。问;我知道是形参,但为什么可以不赋值呢
                                                       //答;因为size接受了实参传来的值,所以不用再赋值了,这时候size=5

    return max;
}
2017-05-26 20:33
何小达
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2017-5-25
得分:0 
回复 21楼 陈光星
/* Note:Your choice is C IDE */
include <stdio.h>
float
maxelement( float *a, int size );   //函数的声明,返回值为一个浮点型的变量,形参中有一个指针和一个整形。问:指针的作用是什么?
                                    //当向函数传递一个数组的时候,数组名会退化为指针。
                                    //可以这样改maxelement( float a[], int size );还是用数组,这样你应该能看的懂一点
                                     //问;maxelement( float a[], int size )这里的数组不用规定长度吗
                                     //你可以去看看谭浩强的那本C语言书,上面解释的很清楚了,这个a[]会从实参那接收长度,所以不用定义长度,只限于函数调用可以这样用,
                                       //如果是在定义的话就不行,还有其他的问题吗?
int
main( void )
{
    float A[ 5 ];//以下四行我都理解
    int i;

    for( i = 0; 5 > i; ++i )
        scanf( "%f", &A[ i ] );

    printf( "%f", maxelement( A, 5 ) );// 问:  maxelement(A,5)是什么意思,为什么这样写?
                                       // maxelement()是调用这个函数,A是数组名,5是数组元素上限。
                                       //函数maxelement()最终是不是返回一个值,再用printf函数打印的时候不用先引用那个函数,然后再先将一个变量赋值给那个函数,然后再打印出来吗
                                       //你自己也说了,maxelement()就是返回一个值,所以就不需要在赋值成变量然后再输出了,给你举个例子吧
                                       //printf("%d",5);就相当于这样。



    return 0;
}

float maxelement( float *a, int size )//函数的定义    //同样,这里也要改一下maxelement( float a[], int size );
{
    int i;
    float max;

    for( i = 1, max = a[ 0 ]; size > i; ++i )   //问:size是什么,为什么不用赋一个初始值
        max = max > a[ i ]? max : a[ i ];//size是形参。问;我知道是形参,但为什么可以不赋值呢
                                                       //答;因为size接受了实参传来的值,所以不用再赋值了,这时候size=5

    return max;
}
2017-05-26 20:54
陈光星
Rank: 1
等 级:新手上路
帖 子:69
专家分:3
注 册:2017-5-15
得分:0 
明白了
2017-05-26 21:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042317 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved