已解决问题 - 浏览182次

下一个已解决问题
yotan0325yotan0325

高级书童


关于C语言编程输出三个数中最大值问题

我自己设计的程序好像不对,无法执行,但又不知道哪里错了,请大家帮帮忙看看错在哪里了。
main()
{int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
max=max(max(a,b),c);
printf("max=%d",max);
}
int max(x,y)
{if(x>=y)max=x;
else max=y;
return max;
}

还可输入300个字

请输入上图中的验证码,字母不区分大小写。

点击查看更多 个数 c语言 最大值 相关信息

云亦影云亦影

贡士


最佳答案 - 由提问者2008-07-05 12:06:31选出

最主要原因:变量MAX和函数MAX重名了哦,这样是会出问题的。下面是调试通过的代码
main()
{int a,b,c,temp;
scanf("%d,%d,%d",&a,&b,&c);
temp=max(max(a,b),c);
printf("max=%d",temp);
}
int max(x,y)
{
int temp;
if(x>=y) temp=x;
else temp=y;
return temp;
}
第一个temp作用范围是main(),第二个temp作用范围是max()

另外,看你的原代码,你似乎尝试在main()中定义一个变量MAX,然后在main()函数体外的max()中使用这个变量,这是不可以的。
变量的作用范围内在它所在的那一对大括号内的。除非定义为全局变量。

0 0
  • 云亦影云亦影

    贡士


    另外,max函数其实可以简化成这样的
    int max(x,y)
    {
    if (x>=y)
    return x;
    return y;
    }

还可输入300个字

请输入上图中的验证码,字母不区分大小写。

提问者对最佳答案的评价 *

谢谢!!!

其他回答(1)

  • lhshui@yahoolhshui@yahoo

    穷酸秀才


    你学c语言多久了,你的程序错误很多,我也不是很懂,
    比如说你的这个程序至少缺了两个头文件,
    #include <stdio.h> (用了scnaf 和printf语句)
    #include <math.h> (用了max)
    我也是菜鸟,可以交流一下,QQ181408339

    还可输入300个字

    请输入上图中的验证码,字母不区分大小写。

返回知识堂首页>>

如果您没能找到需要的内容,请
提出您的问题>>

猜你喜欢看

更多
1