当前位置:  开发笔记 > 编程语言 > 正文

意外的随机数

如何解决《意外的随机数》经验,为你挑选了1个好方法。

我正在研究一个简单的函数,给定一个输入n,返回n个Fibonacci的数字.

int main(){
    int n = 0;
    int counter = 1;
    int f1, f2, f3 = 1;
    printf("Insert an integer bigger than 0:\n");
    scanf("%i", &n);
    printf("%i", f1);
    while(counter <= n){
            f3 = f1 + f2;
            printf("%i\n", f3);
            f1 = f2;
            f2 = f3;
            counter = counter + 1;
    }
    return 0; 
 }

令人惊讶的是,每次运行程序时,该函数都会返回不同的结果.此外,这些数字远远大于/小于任何可能的结果.

最有可能的是,我遗漏了一些明显的东西,但我无法解释这种行为.



1> fluter..:

这一行:

int f1, f2, f3 = 1;

只初始化f3为1,它不初始化f1f2.您应该使用此代替:

int f1 = 1, f2 = 1, f3 = 1;

初始化所有三个.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有