0
こんにちは私は2つ以上の数字のGCDを見つけるためにCでコードを書こうとしています。しかし、コンパイルしてコードを実行すると、GCDは常に0になります。ありがとうございました。Cで配列を使ってGCDを見つける
#include <stdio.h>
static int gcd(int x, int y)
{
int r;
if (x <= 0 || y <= 0)
return 0;
while ((r = x % y) != 0)
{
x = y;
y = r;
}
return y;
}
int main (void)
{
int A[5];
int g = A[0];
int i;
int n;
printf ("How many elements are there? \n")
scanf ("%d", &n);
printf ("Input the elements. \n");
for (i = 0; i < n; i++)
{
scanf ("%d", &A[i]);
}
for (i = 1; i < n; i++)
g = gcd(g, A[i]);
printf ("GCD is: %d \n");
return 0;
}
:
これは、私はあなたのメインのようになるはずだと思う方法です。どんな助けが必要ですか?ロギングを追加しようとしましたか?あなたはデバッガを使ってみましたか?あなたは何をつかまえましたか? –
int g = A [0];メイン関数の中の2番目のステートメント、それは理にかなっていますか?変数gにガベージ値を代入しています。 –