#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'|的未定义引用 错误是我可以解决的吗?
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位,我使用的是代码块.