黑马程序员技术交流社区

标题: while循环的问题 [打印本页]

作者: 龙兄    时间: 2015-4-2 20:50
标题: while循环的问题
#include<stdio.h>
int main()
{   
          int n=0;
        while(n<=0)
        {
                printf("输入整数:\n");
            scanf("%d",&n);
        }
        int i=0;
        int sum=0;
        while(i<=n)
        {
                i++;
                sum=sum+i;
               
        }
        printf("%d",sum);
        return 0;
}
该程序如果输入是整数就会运行成功,但是输入小数0.1或者0.几就会死循环。什么原因,如何排除?
作者: oucding    时间: 2015-4-2 22:06
好诡异啊,按理说,输入0.8后,n就是0了啊,可为啥我要是直接输入0的话,就没有这死循环了呀,好纠结呀
作者: 龙兄    时间: 2015-4-3 09:06
是的,小数0.几有死循环。0没有。
作者: 风筝1025    时间: 2015-4-3 09:57
在 scanf("%d",&n);后面加一句printf("n=%d\n",n);       再次运行时,输入小数,看看n输出是啥:)
作者: caoyun123    时间: 2015-4-3 13:49
你的n是int型的,你输入0,几还是0  肯定还循环呀
作者: chenzuliang1993    时间: 2015-4-3 14:08
你的n是整形变量,输入0.几默认变成0了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2