大一学生求教 函数引用有关问题

大一学生求教 函数引用问题
/*
   2013年11月27日17:25:01 习题5.3 求最大公约数最小公倍数
*/# include <stdio.h>

int main()
{
int f(int x, int y);
int g(int p, int q);
int m,n,a,b;//a,b分别为最大公约数和最小公倍数

printf("请输入你想计算的两个数以求最大公约数和最小公倍数(中间以空格分隔):\n");
scanf("%d %d",&m,&n);

a = f(m, n);
b = g(m, n);

printf("最大公约数为%d\n最小公倍数为%d\n",a,b);


return 0;
}
//----------------------------------------
int f(int x, int y)//求最大公约数
{
int temp;//temp为临时值.
if (x < y)
{

temp = x;
x = y;
y = temp;

}

while ((temp= x % y) != 0)
{
x = y;
y = temp;
}
return y;
}
//----------------------------------------
int g(int p, int q)//求最小公倍数
{
int w;
w = (p * q)/f(x, y);

return w;
}

ch5_3.obj - 1 error(s), 0 warning(s)
G:\C程序\ch5_3.cpp(50) : error C2065: 'x' : undeclared identifier
G:\C程序\ch5_3.cpp(50) : error C2065: 'y' : undeclared identifier大一学生求教 函数引用有关问题
找不到老师 谢谢各位了

------解决方案--------------------
int g(int p, int q)//求最小公倍数
{
int w;
w = (p * q)/f(x, y);

return w;
}
这个函数里面并没有定义x和y,把x换成p,y换成q就对了,是同一个数
------解决方案--------------------
int g(int p, int q)//求最小公倍数
{
int w;
w = (p * q)/f(x, y);//这里的x,y是什么意思?是p,q吗?

return w;
}