我是新来编程c。当运行下面的代码,我收到以下错误与在=一个小箭头指向登录:错误:无效值不被忽略 - 在简单的c程序
错误:不被忽略,因为它空值应该是
* GCD = gcd_lcm((乘数1%乘数2 ),factor2,gcd,lcm);
我试图按照向另一篇文章中找到的void类型返回值的步骤进行操作,但似乎无法在我的代码中工作。有人可以帮我指出我的错误吗?非常感谢。
#include <stdio.h>
void gcd_lcm(int factor1, int factor2, int *gcd, int *lcm);
int main(void)
{
int factor1;
int factor2;
int GCD;
int LCM;
printf("Enter Factor1: ");
scanf(" %d", &factor1);
printf("Enter Factor2: ");
scanf(" %d", &factor2);
gcd_lcm(factor1, factor2, &GCD, &LCM);
printf("The GCD of %d and %d is %d. The LCM is %d\n", factor1, factor2,
GCD, LCM);
return 0;
}
void gcd_lcm(int factor1, int factor2, int *gcd, int *lcm)
{
if (factor2 == 0)
{
*gcd = factor1;
*lcm = (factor1 * factor2)/*gcd;
}
else
{
*gcd = gcd_lcm((factor1 % factor2), factor2, gcd, lcm);
*lcm = (factor1 * factor2)/*gcd;
}
}
我已经改变了这个代码,现在可以工作,但是如何?
void gcd_lcm(int factor1, int factor2, int *gcd, int *lcm)
{
if (factor2 == 0)
{
*gcd = factor1;
*lcm = (factor1 * factor2)/*gcd;
}
else
{
gcd_lcm(factor2, (factor1 % factor2), gcd, lcm);
*lcm = (factor1 * factor2)/*gcd;
}
}
只要删除'* gcd ='。 –
*请*,缩进您的代码并在整个代码中一致地使用[indenting style](https://en.wikipedia.org/wiki/Indent_style)。这样做使得**更容易阅读/维护。这样做对于你放在Stack Overflow上的代码会使你更有可能让人们对你的帖子进行投票,并使人们更有可能花时间回答你的问题。选择哪种风格并不重要(尽管对于某些语言来说某些风格比其他风格更合适)。但是,选择一个并且一致地用于单个项目中的所有代码。 – Makyen