看你的while(t>0)终结条件和你放在里面的关系(放里面t每次都会重赋值,i的初值是多少?),分析代码是不是放里面,导致死循环了~
你的first初始值是什么first=i,t=i,如果i大于零t也大于零,t大于零直接结束.这个代码不全,你可以找个数带进去试一下,c语言是面向过程的语言,先后的执行过程要对