来知道电脑站

您的位置: 主页>编程> 关于C语言编程输出三个数中最大值问题

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

 yotan0325 

关于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;
}

解决方法



最主要原因:变量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()中使用这个变量,这是不可以的。
变量的作用范围内在它所在的那一对大括号内的。除非定义为全局变量。

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

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

上一篇:logiciterate怎么实现换行    下一篇:没有了

编程相关文章

编程热门文章

编程推荐文章