注册 登录
编程论坛 C++教室

为什么输入0程序没有跳出来?

wu2782641803 发布于 2013-11-16 00:20, 550 次点击
#include  <stdio.h>

int  main ()
{
      int i,n;
      i=0;
      printf("请输入一串数字,以0表示结束:\n");
      scanf("%d",&n);
      while(n!=0)
      {
        if(n>0)
            i++;
        if(n<0)
            i++;
      }
      printf("%d\n",i);  

return 0;
}
5 回复
#2
peach54602013-11-16 07:42
又不是在循环里面输入的
#3
左手拉一只猫2013-11-16 13:10
在循环里加个输入估计就能跳出来了。。。
#4
a1902054602013-11-16 19:25
while(n!=0)
      {
        if(n>0)
            i++;
        if(n<0)
            i++;
      }
这里表达有误吧!你在多看看,想想,为什么错了
#5
蓝色的blue2013-11-16 22:06
你假如第一次输入的不是零的话,就陷入了死循环,,尝试把输入语句放到循环里面去
#6
p832lun2013-11-17 16:41
将scanf()函数用在循环体内,然后是用do-while循环,先做在循环,然后判断循环跳出的条件,时候决定是否使用最后一次循环的结果。
选择什么方法,主要看你要解决的问题。如果单纯的是统计问题,不考虑对录入数据进行保存。完全不必使用数组或者其他的数据结构。如果想要让程序将录入的结果输出,就要使用表结构了。
1