2017-07-22 16 views
-6

このコードは構文エラーを示していますが、gcd関数内にある可能性があります。ここに私のコードです。C言語の関数を使用したGCD計算でのエラー

エラーを指摘して正しいコードを説明すると感謝します。

+0

なぜあなたはこのCをタグ付けしている++? –

+3

エラーメッセージには行番号が含まれています。それはどこにあるのかを伝えます。 – melpomene

+1

コンパイラは、これらのエラーが発生した行番号を通知しますか? 'int gcd(int、int);'は疑わしいです –

答えて

0

スイッチの2行の位置:

int main(void) 

int gcd(int,int); 

また、elseif - >else if

+0

もう一つの重要な変更が必要です.GCD関数のループから 'return'を移動してください。 –

+0

これは論理エラーであり、元の質問であった構文エラーではありません。 –

0

gcd機能はEuclid's Algorithmを使用します。 a mod bを計算した後、abXOR swapでスワップします。

Reference

#include<stdio.h> 

int gcd(int ,int); 


int main(void) 
{ 
    int a,b, temp; 
    printf("Enter the value of a : "); 
    scanf("%d",&a); 
    printf("Enter the value of b : "); 
    scanf("%d",&b); 

    int res = gcd(a,b); 
    printf("The Gcd of the numbere is : %d \n",res); 

    return 0; 
} 

int gcd(int a, int b) 
{ 
    int temp; 
    while (b != 0) 
    { 
     temp = a % b; 
     a = b; 
     b = temp; 
    } 
    return a; 
} 
+1

変更内容を説明する必要があります。コードは妥当と思われます(私はそれをコンパイルしませんでした)が、あなたは何をしたのか説明していません。説明はSOの答えの重要な部分です。コードだけでは十分な回答が得られず、少なくとも十分ではありません。 –

+0

私は可能な限り説明した。 :) –

+0

外部ソースへのリンクは説明ではありません。そして、あなた(そしてリンク)はOPのコードに何が間違っているのか、そこに何の構文エラーがあるのか​​を説明しません。 –