满意答案
kaerbasaka
2013.03.03
采纳率:43% 等级:11
已帮助:7606人
你的程序有问题
#include
int main()
{
int a,b;
int pub(int m,int n);//这里函数声明要放到main函数之外
printf("输入两个数:\n");
scanf("%d,%d",&a,&b);
pub(a,b);
printf("最大公约数为:%d",a);//这里的a还是你输入的a值根本没有改变
printf("最小公倍数为:%d",);//少个参数
getchar();
getchar();
}
int pub(int m,int n) //int 型函数要有一个int返回值而你没有,如果只是想单纯的改变m,n的话 / / /你应该用void型,并且传形参进来它的值在主函数中是不会改变的,要改变值必须穿指针或者引用进来 void pub(int *p,int *q)这样调用一次 参数的值就改变了
{
int p1,p2,temp;
if(m
{
temp=m;
m=n;
n=temp;
}
p1=m;p2=n;//p1>p2
while(p2!=0)
{
temp=p1%p2;
p1=p2;
p2=temp;
}
}
00分享举报