C语言是在是入不了门了~这个程序是书上的,但是结果却不是我想要的,求高手开导,怎么入门····

2024-12-25 12:59:13
推荐回答(4个)
回答1:

#include
int h,l;
int main(){
void hcf(int,int);
void lcd(int,int); int u,v;
scanf("%d,%d",&u,&v);
hcf(u,v);
lcd(u,v);
printf("h.c.f=%d\n",h);
printf("l.c.d=%d\n",l); return 0;}
void hcf(int u,int v)
{ int t,r; if(v>u)
{ t=u;u=v;v=t;}
while((r=u%v)!=0)
{ u=v; v=r; }
h=v;}
void lcd(int u,int v){ l=u*v/h;}
函数名和变量名重复了
这样就可以运行了

回答2:

没什么,谁开始学编程都这样,何况C语言本身就比较难一些。
注意,C程序的变量是区分大小写的。

回答3:

你定义的全局变量跟函数名 同名了,编译器不知道用那俩名字的时候调用哪一个了,编译器会很迷惑的。。。书上估计变量名用了大写,函数名用了小写。
另外你的函数有点累赘,找最大公约数只需要这么写:
void hcf(int u,int v){
int t,r;
while((r=u%v)!=0)
{
u=v;
v=r;
}
hcf=v;
}

回答4:

楼主学的书有问题。