标题:c的while问题
只看楼主
任楚贤
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-12-5
结帖率:75%
已结贴  问题点数:20 回复次数:3 
c的while问题
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,i;
    printf("请输入一个整数n(1<=n<=9)");
    scanf("%d",&a);
    i=1;
   int n=a;    /*若将这一步取消,直接用while(i<a)的话会出错,出现数值会非常小,请问倒腾这一下
    while(i<n)    的意义是什么?为什么不能直接用while(i<a)*/
    {
    a=a*i;
    i=i+1;
     }
     printf("%d",a);   
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: include 
2015-12-05 14:42
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
得分:10 
a=a*i;因为循环里a一直在变化,你用小于a只能是死循环

2015-12-05 15:01
雨季过后
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:14
专家分:20
注 册:2015-10-9
得分:10 
因为循环里a的值一直变大,i不会大于a,无法跳出循环,最后a的值溢出了

希望论坛里的大神多多指导。
2015-12-05 15:09
任楚贤
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-12-5
得分:0 
明白了,谢谢各位亲
2015-12-05 15:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-459922-1-1.html




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

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