我是新來編程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