C语言阶乘 用 while

#include<stdio.h>
void main()
{
int i,n,jc=1;
scanf("%d",&n);
while (i<=n)
{
jc*=i;
i++;
}
printf("jc=%d",jc);
}
用while语句 这个程序编译运行后走不动
为什么啊

你的while执行时变量i没有初始化(没有值),因此,while循环被架空
要解决这个问题 你在while语句之前,必须给i赋初始值(比如写上i=1;之类的)追问

谢谢给i=1的话可以了
但是什么叫while初始化

追答

不是叫while初始化 叫循环变量初始化
也就是for语句中第一个分号之前的部分
如果使用while的话,必须写在 while语句之前

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网