Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode-警告:C99中函数的隐式声明无效_C_Xcode - Fatal编程技术网

Xcode-警告:C99中函数的隐式声明无效

Xcode-警告:C99中函数的隐式声明无效,c,xcode,C,Xcode,收到警告:函数“Fibonacci”的隐式声明在C99中无效。 怎么了 #include <stdio.h> int main(int argc, const char * argv[]) { int input; printf("Please give me a number : "); scanf("%d", &input); getchar(); printf("The fibonacci number of %d is : %

收到警告:函数“Fibonacci”的隐式声明在C99中无效。 怎么了

#include <stdio.h>

int main(int argc, const char * argv[])
{
    int input;
    printf("Please give me a number : ");
    scanf("%d", &input);
    getchar();
    printf("The fibonacci number of %d is : %d", input, Fibonacci(input)); //!!!

}/* main */

int Fibonacci(int number)
{
    if(number<=1){
        return number;
    }else{
        int F = 0;
        int VV = 0;
        int V = 1;
        for (int I=2; I<=getal; I++) {
            F = VV+V;
            VV = V;
            V = F;
        }
        return F;
    }
}/*Fibonacci*/
#包括
int main(int argc,const char*argv[]
{
int输入;
printf(“请给我一个号码:”);
scanf(“%d”,输入(&I));
getchar();
printf(“%d的斐波那契数为:%d”,输入,斐波那契(输入));/!!!
}/*主要*/
整数斐波那契(整数)
{

如果(number编译器想在使用函数之前了解它

只需在调用函数之前声明它

#include <stdio.h>

int Fibonacci(int number); //now the compiler knows, what the signature looks like. this is all it needs for now

int main(int argc, const char * argv[])
{
    int input;
    printf("Please give me a number : ");
    scanf("%d", &input);
    getchar();
    printf("The fibonacci number of %d is : %d", input, Fibonacci(input)); //!!!

}/* main */

int Fibonacci(int number)
{
//…
#包括
int Fibonacci(int number);//现在编译器知道签名是什么样子了。这就是它现在所需要的
int main(int argc,const char*argv[]
{
int输入;
printf(“请给我一个号码:”);
scanf(“%d”,输入(&I));
getchar();
printf(“%d的斐波那契数为:%d”,输入,斐波那契(输入));/!!!
}/*主要*/
整数斐波那契(整数)
{
//…

调用函数之前必须声明函数。这可以通过多种方式完成:

  • 在标题中写下原型
    如果函数可以从多个源文件调用,请使用此选项。只需编写原型即可
    int Fibonacci(整数);

    .h
    文件(例如
    myfunctions.h
    )中,然后
    #在C代码中包含“myfunctions.h”

  • 在第一次调用函数之前移动该函数
    这意味着,写下函数
    int Fibonacci(整数){..}

    main()函数之前

  • 在第一次调用函数之前显式声明该函数
    这是上述风格的组合:在
    main()
    函数之前,在C文件中键入函数的原型


另请注意:如果函数
int Fibonacci(int number)
只能在实现它的文件中使用,则应将其声明为
静态
,以便它只能在该转换单元中可见。

我有相同的警告(这会使我的应用程序无法构建)。当我在
Objective-C的.m文件中添加
C函数时,却忘了在
.h
文件中声明它。

应该正确调用该函数;比如-Fibonacci:input

@Cupidvogel:如果你有一个新问题,请提出一个新问题。这看起来太小了,不能保证提出一个新问题,所以我在这里问。为什么我必须这样做pe
int-Fibonacci(int-number);
在标题中?我想
int-Fibonacci(int);
应该可以吧?@JavierVazquez,这页上没有Objective-C。@vikingosegundo我想我对另一条评论发表了评论,但可能它被删除了……所以我也删除了我的评论;)