C语言初学者的问题,懂得来.

#include <stdio.h>
void main()
{
int hcf(int,int);
int lcd(int,int,int);
int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%d\n",h);
l=lcd(u,v,h);
printf("L.C.D=%d\n",l);
}

int 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;}
return(v);
}

int lcd(int u,int v,int h)
{
return(u*v/h);
}

这个程序用全局变量没有,如果用了是不是用的两个函数求的最大公约数和最小公倍数.
如果没有用,要怎么改才能是全局变量.
请认真回答,好的话给加分.

int u,v,h,l;是main的变量!对定义的函数没用!它不是全局变量,这个程序里没有全局变量!
#include <stdio.h>
int u,v,h,l;
void main()
{
int hcf(int,int);
int lcd(int,int,int);
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%d\n",h);
l=lcd(u,v,h);
printf("L.C.D=%d\n",l);
}
这是全局变量
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-09
没有用全局变量.
是用两个函数计算的
为什么要用全局变量.
想改, 把u,v,h移到main()前面去: int u,v,h;
把两个函数中的参数都去掉
第2个回答  2009-12-09
你好,这个程序没有用的全局变量,求的最大公约数和最小公倍数的函数虽然声明后在全局可用,但是函数是函数,不算全局变量。不推荐你用全局变量,因为那样会使你的函数失去通用性,如果你非要改成用全局变量的程序,就按一楼说的来吧,说的很对。

C语言编程问题,初学者,麻烦简单点,可以看懂的,谢谢(*°∀°)=3?_百...
一、a为0,bx+c=0,求得一解。二、a不为0,按照一元二次方程公式:当判别式b^2-4ac,>0则两个解,=0则一个解,<0则无解。最后,代入公式求解。函数参数:a,b,c及存放结果的数组x。返回解的个数。下面是代码:include <stdio.h> include <math.h> int fun(double a,double b,doubl...

求C语言题,我是初学者,请讲详细点
故x=y==5同等于 x=(y==5);B)x=n%2.5;\/\/错误,%是模除符号,就是求余数用的,用这个符号,两边必须是整型,说白了两边都得是整数,不能是小数。C)x=n=1 \/\/很明显,缺少分号,一个语句的最基本要求就是,以分号结束。如果做为一个表达式是合法的,x=n=1同等于 x=1,n=1;D)x=...

C语言初学者我不明白 帮帮我!~~
问题一:for循环结束时,p已经指向已经超出了数组,第一次循环时p开始指向a[0](因为是后置加加)运行完后p指向 a[1],同理,第五次循环时p指向 a[4],运行完后p指向a[5],但此时i等于5,退出循环 问题二:你调试的是编绎后的汇编指令,肯定看不明白了,你应该选择单步调试,不要选择跟踪子...

c语言初学者,有大佬能解释下吗?为什么答案是11,11,11,12
结果是11,11,11,12正确啊。因为第一行printf输出的是++*p,就是对10先加1再输出,当然是11,接着再printf输出*p,还是11不变;第二行printf输出的是(*p)++,是先输出再加1,由于第一个printf中已经使10变为11了(就是*p),所以这里先输出11,然后再给11+1==12,最后一个printf输出,自然是12...

给初学C语言的同学一些建议
C语言初学者的建议 (1) 保持好奇心 这是一个现实的问题,如果你是非计算机专业的大学生,大部分人对C语言是恐惧的,因为(挂科率高)你懂得·...··。而如果你是小学生或初中生,倒也不用担心,因为你们的勇气和好奇心都比大学生强大很多。当然,无论是谁,保持好奇心是你学习不断前进的永恒动力...

C语言程序问题,本人是初学者中的初学者,有个程序请明士解疑。
一.int min 就是普通函数 可以有无数个普通函数 主函数中不调用就不会执行 二.return是返回值的意思 他返回t这个值 赋给m 不加这个的话m就没有值 或者说不回被改变 不能没有 没有他的话min这个函数就没有意义了 三.这个是实参和形参的道理 具体你看一下你的学习资料 这个没有什么...

C语言编程问题,初学者,麻烦简单些,谢谢(*°∀°)=3?
{ int sex,height;float weight,bzweight;\/\/输入体重和标准体重 printf("输入性别(0-男性,1-女性):");scanf("%d",&sex);printf("输入身高(cm):");scanf("%d",&height);printf("输入体重(kg):");scanf("%f",&weight);if(sex==0)bzweight=(height-80)*0.7;else bzweight=(...

C语言编程问题,初学者,不太会,谢谢
编写一个函数,删去输入的一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。在主函数输入一个有序数组,接着调用该自定义函数,最后输出删除重复数据后的数组元素。如:输入的数组元素为:999866000-2-2打印的结果为:9860-2 这个程序的实现...

计算机c语言,有几个问题,望解答,准备计算机二级的菜鸟在此谢过...
【1】我也觉得是长双精度,不过长双精度对于初学者来说很少用到,可能是因为这个原因,所以答案是双精度吧。【2】C语言的注释可以放在程序的任何地方,只要写在注释符\/**\/中就可以。【3】应该跟你理解的也要,C的类型int也是标识符,命名的时候不要和那些系统默认的符号重复就可以了。【4】char c1...

初学者求教简单的C语言问题?
问题1:将case 1, case 2, case 3 依次改作case '1',case '2', case '3'就好了。因为scanf("%c",&choice);这句表示choice是以字符形式接收输入的数据,所以case的形式应该也是字符的形式!case部分如下修改就好了 scanf("%c",&choice)while(choice!=‘4’){ scanf("%c",&choice)swit...

相似回答
大家正在搜