鱼C论坛

 找回密码
 立即注册
查看: 3195|回复: 8

新手求解~~3个值比较大小,能运行,结果不对

[复制链接]
发表于 2013-6-28 10:30:27 | 显示全部楼层 |阅读模式
1鱼币
这是程序
#include<stdio.h>

void main()
{
        int max(int x,int y,int k);
        int a, b, c, d;
        scanf("%d,%d,%d",&a,&b,&c);
        d = max(a, b, c);
        printf("max = %d\n",d);
}

int max(int x,int y,int k)
{
        int z;
        if (x > y,x > k) z = x;
        if (y > x,y > k) z = y;
        if (k > x,k > y) z = k;
        return(z);
}
为什么结果是这样呢?

QQ图片20130628103827.jpg

最佳答案

查看完整内容

if里如果要表示两个条件成立才执行要用&& #include void main() { int max(int x,int y,int k); int a, b, c, d; scanf("%d,%d,%d",&a,&b,&c); d = max(a, b, c); printf("max = %d\n",d); } int max(int x,int y,int k) { int z; if ((x > y)&&(x > k))z = x; if ((y > x)&&(y > k)) z = y; if ((k > x)&&(k > y)) z = k; ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-28 10:30:28 | 显示全部楼层
if里如果要表示两个条件成立才执行要用&&

#include<stdio.h>

void main()
{
        int max(int x,int y,int k);
        int a, b, c, d;
        scanf("%d,%d,%d",&a,&b,&c);
        d = max(a, b, c);
        printf("max = %d\n",d);
}

int max(int x,int y,int k)
{
        int z;
        if ((x > y)&&(x > k))z = x;
        if ((y > x)&&(y > k)) z = y;
        if ((k > x)&&(k > y)) z = k;
        return(z);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-28 12:57:17 | 显示全部楼层
        if (x > y,x > k) z = x;
        if (y > x,y > k) z = y;
        if (k > x,k > y) z = k;

这几行出错了!  中间不应该是逗号 ,    应该换成 && ,表示且的意思 就是两者都要满足为真,才会执行后面的语句!
所以代码应修改成如下:
#include<stdio.h>

void main()
{
      int max(int x,int y,int k);
      int a, b, c, d;
      scanf("%d,%d,%d",&a,&b,&c);
      d = max(a, b, c);
      printf("max = %d\n",d);
}

int max(int x,int y,int k)
{
      int z;
      if ( (x > y) && (x > k) ) z = x;
      if ( (y > x) && (y > k) ) z = y;
      if ( (k > x) && (k > y) ) z = k;
      return(z);
}


不懂欢迎追问!{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-28 17:38:34 | 显示全部楼层

谢谢,已经解决了,分只能给一个,他先来的,不好意思了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-28 18:24:53 | 显示全部楼层
海山o0 发表于 2013-6-28 17:38
谢谢,已经解决了,分只能给一个,他先来的,不好意思了

没事!{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-28 19:26:35 | 显示全部楼层
友来友网 发表于 2013-6-28 10:30
if里如果要表示两个条件成立才执行要用&&

#include

支持支持!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-4 00:17:48 | 显示全部楼层
学习学习{:7_155:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-4 14:57:48 | 显示全部楼层
就是也会犯这种错!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-4 16:28:11 | 显示全部楼层
用 && :lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-18 06:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表