| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 804 人关注过本帖
标题:[求助]这程序有问题吗?
只看楼主 加入收藏
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
 问题点数:0 回复次数:14 
[求助]这程序有问题吗?

为什么我编译不了,无论unsigned long long int Fibonacci[numfibs];放哪里都是错误,应该跟这个没关系,错误在哪呢?


#include "stdio.h"
main()
{
int i,numfibs;


printf("How many Fibonacci number is you want (between 1 and 75)?");
scanf("%i",&numfibs);

if (numfibs<1||numfibs>75){
printf("Bad number,sory!\n");
return 1;
}

unsigned long long int Fibonacci[numfibs];

Fibonacci[0]=0;
Fibonacci[1]=1;

for (i=2;i<numfibs;++i)
Fibonacci[i]=Fibonacci[i-2]+Fibonacci[i-1];

for (i=1;i<numfibs;++i)
printf("%llu",Fibonacci[i]);

printf("\n");
return 0;
}

搜索更多相关主题的帖子: long between include return 
2007-05-26 01:23
老糊涂
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-5-19
收藏
得分:0 

#include "stdio.h"
main()
{
int i,numfibs;

unsigned long long int Fibonacci[100];

printf("How many Fibonacci number is you want (between 1 and 75)?");
scanf("%i",&numfibs);

if (numfibs<1||numfibs>75){
printf("Bad number,sory!\n");
return 1;
}


Fibonacci[0]=0;
Fibonacci[1]=1;

for (i=2;i<numfibs;++i)
Fibonacci[i]=Fibonacci[i-2]+Fibonacci[i-1];

for (i=1;i<numfibs;++i)
printf("%llu ",Fibonacci[i]);

printf("\n");
return 0;
}
这样就对了~定义要先放在前面, unsigned long long int Fibonacci[numfibs],numfibs一定要先是确定数值。


2007-05-26 02:35
老糊涂
Rank: 1
等 级:新手上路
威 望:1
帖 子:117
专家分:0
注 册:2007-5-19
收藏
得分:0 
根据你的条件unsigned long long  int Fibonacci[],[]里只要大于75的数就行了~

2007-05-26 02:37
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

汗,我是要定义的数组个数是个变量,就是用输入的数字作为数组个数,这样不是违背本意了,在说C里面本来就是定义变量只要放在变量使用之前都是正确的。


深山苦学C语言,终年不见外面世界。
2007-05-26 09:03
冷雨焰火
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-5-20
收藏
得分:0 
定义数组时他的长度应该是个确定的值吧~ 还有 %i 是什么意思 我不明白 麻烦给解释一下 谢了~

2007-05-26 12:13
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
      数组个数是要终端输入的数字作为数组的个数,%i就是int 整数输出符号,跟%d一个解释。

深山苦学C语言,终年不见外面世界。
2007-05-26 13:24
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
这个好像需要用动态分配内存吧。就如LZ说的,numfibs不知道,而后面要引用这个知道的数组,估计用这个没有错了。

~~我的明天我知道~~
2007-05-26 13:47
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
   楼上朋友说对了,是动态分配内存,这程序语句好象没问题,可怎么运行不了?

深山苦学C语言,终年不见外面世界。
2007-05-26 13:52
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 
有问题,你看数组那部分a[N]
N不可以是变量,但你的程序令N是变量

unsigned long long int Fibonacci[numfibs];这个还要放在前面定义,C89义规定。
而且这个不是所有编译器支持。

[此贴子已经被作者于2007-5-26 14:29:50编辑过]


2007-05-26 14:28
chyhome
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-5-13
收藏
得分:0 
c语言规定,在数组定义中数组元素不允许用变量,
可以先定义为:unsigned long long int Fibonacci[75];
在后面使用时再带入numfibs,这样就不会出错了。

[此贴子已经被作者于2007-5-27 18:26:20编辑过]


2007-05-27 18:18
快速回复:[求助]这程序有问题吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012897 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved