有一些错误,学习c(欧几里德算法)

有一些错误,学习c(欧几里德算法),c,C,所以我以前用Python做过一些编程,并尝试了一些我在那里使用的旧解决方案/方法。但是我有一些语法/编译器错误,我觉得我遗漏了一些东西。可能是一些非常愚蠢的事情,但下面是代码 //Euclidian Algorithm In C //a=bq+r gcd(a,b)=gcd(b,r) //Recursive Solution //Devin Martin #define _CRT_SECURE_NO_WARNINGS // to avoid scanf warning or error #

所以我以前用Python做过一些编程,并尝试了一些我在那里使用的旧解决方案/方法。但是我有一些语法/编译器错误,我觉得我遗漏了一些东西。可能是一些非常愚蠢的事情,但下面是代码

//Euclidian Algorithm In C
//a=bq+r gcd(a,b)=gcd(b,r)
//Recursive Solution
//Devin Martin

#define _CRT_SECURE_NO_WARNINGS    // to avoid scanf warning or error
#include <stdio.h>
int main()
{
    int a, b = 0;
    int gcd(a, b); 
    {
        if (b == 0);
            return a;
        return gcd(b, a % b);  //a%b = r
    }
}
//C语言中的欧几里德算法
//a=bq+r gcd(a,b)=gcd(b,r)
//递归解
//德文·马丁
#定义\u CRT\u SECURE\u NO\u警告//以避免扫描警告或错误
#包括
int main()
{
int a,b=0;
国际一般学科文凭(a、b);
{
如果(b==0);
返回a;
返回gcd(b,a%b);//a%b=r
}
}
错误 严重性代码说明项目文件行

错误LNK2019未解析的外部符号\u gcd在函数\u main euclidian algorithm D:\Documents\Visual Studio 2015\Projects\euclidian algorithm\EuclidianAlg.obj 1中引用

警告C4700未初始化的局部变量“a”使用了欧几里得算法d:\documents\visual studio 2015\projects\Euclidian算法\euclidianalg.c 14


错误LNK1120 1未解析外部欧几里德算法D:\Documents\Visual Studio 2015\Projects\Euclidian Algorithm\Debug\Euclidian Algorithm.exe 1

您不能在C中的另一个函数中定义函数。此外,函数定义不正确,因为您需要在参数列表中声明参数的类型

#include <stdio.h>

int gcd(int a, int b)
{
    if (b == 0)
        return a;
    return gcd(b, a % b);  //a%b = r
}

int main()
{
    printf("gcd(15,6)=%d\n",gcd(15,6));
}
#包括
内部gcd(内部a、内部b)
{
如果(b==0)
返回a;
返回gcd(b,a%b);//a%b=r
}
int main()
{
printf(“gcd(15,6)=%d\n”,gcd(15,6));
}

这似乎不是您拥有的唯一文件。您的项目中还有其他文件吗?