小编hei*_*nww的帖子

c中未定义的函数错误引用

#include <stdio.h>


int singleFib(int x,int a,int b);
int multiFib(int x);


void main(){
int n,i;
printf("How much?\n");
scanf("%d",&n);

for(i=0;i<n;i++){
    printf("%5d. number:   %d   -  %d \n",i+1,multiFib(i),singleFib(i,1,1));


}

getch();
return 0;

}

int multiFib(int x){

if (x<2){
    return 1;
}
else{
    return multiFib(x-2)+multiFib(x-1);
}


int singleFib(int x,int a,int b){

if (x<2){
    return 1;
}
else{

    return singleFib( x-1, b,(a+b));
}

}
}
Run Code Online (Sandbox Code Playgroud)

错误在于

singleFib(i,1,1) in `printf`
Run Code Online (Sandbox Code Playgroud)

为什么这个问题?我该如何解决这个问题呢?我正在使用代码块

Codeblocks\Fiberonacci\main.c | 14 |对`singleFib'|的未定义引用 错误是我可以解决的吗?

c undefined

1
推荐指数
1
解决办法
2万
查看次数

为什么malloc在我的c程序中不起作用?

struct BOOK
{
    char name[120];
    char author[120];
    int  year[50];
};

int main (void)
{
    int          i;
    int          number;
    struct BOOK* books;

    number = 50000;

    printf("before \nsizeofbooks %d \n sizeofBOOK %d\n",
           sizeof(books), sizeof(struct BOOK));

    books = (struct BOOK*)malloc(sizeof(struct BOOK) * number);

    printf("sizeofbooks %d \n sizeofBOOK %d\n",
           sizeof(books), sizeof(struct BOOK));

    free(books);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

before
sizeofbooks 4
sizeofBOOK 440
after
sizeofbooks 4
sizeofBOOK 440
Run Code Online (Sandbox Code Playgroud)

它总是输出4,即使我写入不同的数组,但我希望它会改变.我究竟做错了什么?

我的操作系统是winxp 32位,我使用的是代码块.

c malloc sizeof

-2
推荐指数
1
解决办法
206
查看次数

标签 统计

c ×2

malloc ×1

sizeof ×1

undefined ×1