VC程序哪里错了?·

来源:百度知道 编辑:UC知道 时间:2024/06/18 02:00:46
#include<stdio.h>
void main ()
{
int m,n,r,temp;
scanf("%d %d",&m,&n);
if (m<n)
{
temp=m;
m=n;
n=temp;
}
while(r)
{
r=m%n;
m=n;
n=r;
}
printf("%d",m);
return 0 ;
}
求最大公约数的
运行了有一个错误~
可是不会~
谢谢各位啊,做出来追加分数

因为main函数是void型的,没有返回值,所以不要最后那句return 0;了
我试过了,r没有赋初值的话,也可以成功的。但是,我觉得应该养成好的习惯,我建议把while改为do...while,这样r就可以在while判断之前获得一个值了

希望帮得上你

把“void main()”
改成“int main()”

r没有初值,导致while(r)出问题
此外,void main也是问题

把最后一句return 0 ; 删除掉。

最好把printf("%d",m); 改成
printf("%d\n",m); 这样结果单独显示一行。

void 里面不能return