书上有个题目,让求a,b,c三个变量中最大值. 下面这个程序,为什么输入1,2,3,max的值会有965?
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}
int max(int x,int y,int z)
{int w;
if(x>y>z)

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Penelope

    17人对此回答表示赞同

    要把所有的>都改成&&才是正确的
    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 张小千

    6人对此回答表示赞同

    你的程序是错的,下面这样的语句不会得到你想要的结果:
    if(x>y>z)w=x;
    应该写为:
    if(x>y && y>z) w=x;

    你的if判断没有列举出所有的情况,你返回的w可能是没有赋值的,正确函数应该如下编写:
    int max(int x,int y,int z)
    {int w;
    w=x;
    if(y>w)w=y;
    if(z>w)w=z;
    展开
    6
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Bellrrrrr

    5人对此回答表示赞同

    这个…是易范的错误,比较运算符不能像那样连起来写…必须写成…&& 的形式…
    展开
    5
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Valentina

    5人对此回答表示赞同

    正确的max函数定义如下:仔细看,二楼的少了一对大括号,
    int max(int x,int y,int z)
    {int w;
    w=x;
    if(y>w)
    {w=y;
    if(z>w)w=z;
    }
    return(w);
    }
    展开
    5
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部