读书人

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

发布时间: 2013-09-05 16:02:06 作者: rapoo

有关 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了

读书人网 >C++

热点推荐