首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有关 while 输入输出的有关问题

2013-09-05 
有关 while 输入输出的问题#includestdio.hint main(void){int feet, fathomswhile(scanf(%d,&fathom

有关 while 输入输出的问题
#include<stdio.h>

int main(void)
{
    int feet, fathoms;
    

    while(scanf("%d",&fathoms))
         {
             if(feet ==  0)
                   break;
                         feet = 6 * fathoms;
                         printf("feet is %d \n",feet);
                         printf(" put !\n");
                 
          }

      printf(" End of cycle!!!\n");
      
      return 0;
}

      下面是输入输出情况 :
0
feet is 0 
 put !
0
 End of cycle!!!

   我明明  有break  语句在起作用,   可是为什么 需要输入两个  零才能显示退出循环???


[解决办法]

引用:
不是没有变,而是因为 if语句在 feet语句之前,导致  第一次输入的0  先被 if 语句接受。 但此时  feet 值还没有计算出来,所以直接过,  然后才计算 feet值, 输出/。。。  但是第二次循环的时候发生了什么情况??  只输入一个 零就结束循环??求解。。


你if没有加{}呀,所以if下只有break;一句话,break之后的几句话还是照常进行的。所以第一次输入0之后,执行了feet = 6 * fathoms;把feet变成了0,所以第二次进入时,if判断成立就直接break了

热点排行