标题:求助,identifier 错误问题
只看楼主
jioper
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2016-10-21
结帖率:70%
已结贴  问题点数:10 回复次数:2 
求助,identifier 错误问题
题目为自定义一个三个整数比大小的函数,比五个整数的大小。我写完后发现有identifier 'max'错误,是未定义max吗?但是我已经定义完了呀,以下附程序
#include"stdio.h"
int fmax(int a, int b, int c)
{
    int max;
    if (a > b)
    {
        if(a>c)
            max=a;
        else
            max=c;
    }
    if (b>c)
        max=b;
    else if
        max=c;
     return max;
}
void main()
{
  int max,x1,x2,x3,x4,x5;
  printf("请输入5个整数:");
  scanf("%d%d%d%d%d",&x1,&x2,&x3,&x4,&x5);
  max=fmax(x1,x2,x3);
  max=fmax(max,x4,x5);
  printf("最大值%d",max);
}
2016-10-22 22:21
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:5 
else if
         max=c;
else if 后面忘加大括号了

或者:
此else if语句 去掉if 即可

早知做人那么辛苦!  当初不应该下凡
2016-10-22 22:36
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
得分:5 
@炎天,把完整代码复制下来修改可以让别人更容易理解。
程序代码:
#include"stdio.h"
int fmax(int a, int b, int c)
{
    int max;
    if (a > b)
    {
        if(a>c)
            max=a;
        else
            max=c;
    }
    else if (b>c)//修改此处代码。条件(a>b)和(b>c)应该是同级并列
        max=b;
    else //删去if...不解释
        max=c;
     return max;
}
void main()
{
  int max,x1,x2,x3,x4,x5;
  printf("请输入5个整数:");
  scanf("%d%d%d%d%d",&x1,&x2,&x3,&x4,&x5);
  max=fmax(x1,x2,x3);
  max=fmax(max,x4,x5);
  printf("最大值%d",max);
} 




φ(゜▽゜*)♪
2016-10-22 23:17



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




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

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