A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 龙兄 中级黑马   /  2015-4-2 20:50  /  855 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#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.几就会死循环。什么原因,如何排除?

5 个回复

倒序浏览
好诡异啊,按理说,输入0.8后,n就是0了啊,可为啥我要是直接输入0的话,就没有这死循环了呀,好纠结呀
回复 使用道具 举报
是的,小数0.几有死循环。0没有。
回复 使用道具 举报
在 scanf("%d",&n);后面加一句printf("n=%d\n",n);       再次运行时,输入小数,看看n输出是啥:)
回复 使用道具 举报
你的n是int型的,你输入0,几还是0  肯定还循环呀
回复 使用道具 举报
chenzuliang1993 来自手机 中级黑马 2015-4-3 14:08:43
地板
你的n是整形变量,输入0.几默认变成0了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马