显示E:\Visual C++\ss\ssa.cpp(8) : warning C4715: 'max' : not all control paths return a value

#include<stdio.h>max(intx,inty){if(x==y)returnx;elsemax(y,x%y);}min(intx,inty,intgy){... #include<stdio.h>
max(int x,int y)
{
if(x==y)
return x;
else
max(y,x%y);
}
min(int x,int y,int gy)
{
int z;
x=x%gy;
z=x*y;
return z;
}
void main (void)
{
int a,b,t,gy,gb;
printf("请输入两个正数:\n");
scanf("%d",&a);
scanf("%d",&b);
if(a<0)
{
printf("请重新输入一个正数:\n");
scanf("%d",&a);
}
if(b<0)
{
printf("请重新输入一个正数:\n");
scanf("%d",&b);
}
if(a<b)
{
t=a;
a=b;
b=t;
}
gy=max(a,b);
gb=min(a,b,gy);
printf("最大公约数是%d,最小公倍数是%d\n",gy,gb);
}
展开
 我来答
百度网友b3f293a30
2012-06-10 · TA获得超过326个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:174万
展开全部
帮你改动了下,你自己比较着原来程序看看,改的地方有点多,不一一标出来了
#include<stdio.h>
int max(int x,int y)
{
if(y%x==0)
return x;
else
return max(y,x%y);
}
int min(int x,int y,int gy)
{
int z;
x=x/gy;
z=x*y;
return z;
}
int main (void)
{
int a,b,t,gy,gb;
printf("请输入两个正数:\n");
scanf("%d",&a);
scanf("%d",&b);
if(a<0)
{
printf("请重新输入一个正数:\n");
scanf("%d",&a);
}
if(b<0)
{
printf("请重新输入一个正数:\n");
scanf("%d",&b);
}
if(a<b)
{
t=a;
a=b;
b=t;
}
gy=max(a,b);
gb=min(a,b,gy);
printf("最大公约数是%d,最小公倍数是%d\n",gy,gb);
}
更多追问追答
追问
int main (void)
请问大神,为啥是int呢。。。
追答
噢,用void也可以,我的编译器不能是void,你的是vc吧,那可以用void
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式