所以我以前在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
}
}
错误 严重性代码描述项目文件行
错误LNK2019未解析的函数_main中引用的外部符号_gcd EuclidianAlgorithm D:\ Documents \ Visual Studio 2015 \ Projects \ EuclidianAlgorithm \ EuclidianAlg.obj 1
警告C4700未初始化的局部变量'a'使用EuclidianAlgorithm d:\ documents \ visual studio 2015 \ projects \ euclidianalgorithm \ euclidianalg.c 14
错误LNK1120 1未解析的外部EuclidianAlgorithm D:\ Documents \ Visual Studio 2015 \ Projects \ EuclidianAlgorithm \ Debug \ EuclidianAlgorithm.exe 1
答案 0 :(得分:2)
您无法在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));
}