| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1498 人关注过本帖
标题:一个数组元素求最大值的问题,老是报错
只看楼主 加入收藏
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:5 
一个数组元素求最大值的问题,老是报错
代码很简单,主函数调用求数组最大值的子函数,但就是老报错1>e:\vs_projects\learn\learn\learn.c(12): error C2440: “=”: 无法从“float *”转换为“float”
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<math.h>
#include"my.h"


 float max(float *data, short num);
int main ( )
{  
    float result;
    float a[5]={1.2,2.2,3.2,4,5};
    result=max(a,5);
    printf("%f",result);

getchar();
}

float max(float *data, short num)
{
    float re=0;
    int i;
    for(i=0;i<num;i++)
    {
        if( re<data[i] )
            re=data[i];
    }
    return(re);
}

我看了好久还是没看出来错在哪?求助各位
错是错在第十二行
    result=max(a,5);


[此贴子已经被作者于2016-6-3 21:47编辑过]

搜索更多相关主题的帖子: 最大值 learn 元素 
2016-06-03 21:41
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:3 
试过,运行无异常。
2016-06-03 21:54
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:7 
没用上的头文件就不要include了

这个问题可能出现在vs里stdlib里面在非C++时定义了一个宏
程序代码:
#ifndef __cplusplus
        #define max(a,b) (((a) > (b)) ? (a) : (b))
        #define min(a,b) (((a) < (b)) ? (a) : (b))
    #endif


所以宏展开问题就来了,只要把stdlib去掉就好,其实你应该获得了很多的错误信息,不止这一条
2016-06-03 21:55
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
收藏
得分:0 
回复 3楼 随风飘荡
真大神啊,的确是你说的那样,这个错误可能看一晚上也看不出来。
另外问一下,stdlib.h里面的max,min函数为什么我在代码中不能直接用啊?头文件已经包含进去了?
2016-06-03 22:05
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
收藏
得分:0 
回复 2楼 吹水佬
多谢回复,楼下正解
2016-06-03 22:48
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:0 
回复 5楼 lebronze
stdlib里面定义的是宏,不是函数。
而且原型你也看到了。
他只能用来返回两个可比较变量里面较大的那个
2016-06-03 23:30
快速回复:一个数组元素求最大值的问题,老是报错
数据加载中...
 
   



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

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