私はプログラミングの初心者です。エラー:無効な値は無視されない - 単純なCプログラム
エラー:それは
* GCD = gcd_lcm((因数1%以下の因子2であるべきだと無視されない空値以下のコードを実行しているとき、私は=記号で小さな矢印が付き、次のエラーを取得しています)、因子2、gcd、1cm);
私は別のポストにあるように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に配置したコードでは、人々があなたの投稿を上書するようになり、人々があなたの質問に答える時間を増やす可能性が高くなります。どのスタイルを選択するかは実際問題ではありません(一部の言語では、他のスタイルよりもスタイルが適切です)。しかし、1つを選択して、1つのプロジェクト内のすべてのコードに一貫して使用します。 – Makyen