Edinburge 发表于 2017-2-27 12:57:01

do while和while问题求助

#include    <conio.h>
#include    <math.h>
#include    <stdio.h>
intfun(int t)
{
        int a=1,b=1,c=0,i;//a代表第n-2项,b代表第n-1项,c代表第n项
        do            //如果求得的数c比指定比较的数小,则计算下一个Fibonacci数,对a,b重新置数
        {
          c=a+b;
                a=b;
                b=c;
        }
    while(c<t);      //如果求得的数c比指定比较的数大时,退出循环。
        c=a;             //此时数c的前一个Fibonaci数为小于指定比较数的最大的数
        return c;
}

main()
{
FILE *wf;
intn;
   
n=1000;
printf("n=%d,f=%d\n",n, fun(n));
}
为什么在这个程序中,用while(c<t)这样的循环,程序就无法从循环中读取出来呢?求大神指导!

Mikel 发表于 2017-2-27 13:30:15

程序就无法从循环中读取出来,是指死循环吗?

Mikel 发表于 2017-2-27 13:30:57

如果是,应该是你do while逻辑写错了

LangRenKun 发表于 2017-2-27 15:27:21

刚刚调试了一下,是可以输出的。程序没有问题,你应该查找一下环境的问题

caokaifa 发表于 2017-2-27 18:01:49

没问题

sxr2912719 发表于 2017-2-28 16:10:23

看着程序是没问题啊,自己再查查吧

kai759630 发表于 2017-2-28 17:00:10

产生后的好像没问题啊

桃花飞舞 发表于 2017-3-2 08:38:01

我也试了没有问题
页: [1]
查看完整版本: do while和while问题求助