clwn.net
当前位置:首页 >> C语言whilE无限循环 >>

C语言whilE无限循环

这个原因是这样的:当你输入非法时,你的输入将留在输入缓冲区中.这样下一次循环,因为输入缓冲区中仍然有数据,就会再次做判断,判断非法继续留在输入缓冲区中,如此反复.解决方法也很简单,加一句fflush(stdin)即可.#include <stdio.h> int main(void) { int b,a; a=b=0; while(a != 11) { b=(scanf("%d",&a)); if(b == 1) printf ("%d\n",b); else { printf ("++++%d\n",b); fflush(stdin); } } return 0; }

while循环的用法是 while(判断条件)如果判断条件为真,则实行循环内部代码;如果判断条件为假,则跳出循环,执行后续代码.而判断条件为真的时候,值是1;判断条件为假的时候,值是0故而,while 1是无限循环

while(k=-2) k=-2是赋值语句,你把一个非零实数给K了,相当于while(1)那么while语句后面的条件永远是1,所以会无限循环,而取0时,相当于while(0)他就是0,所以不会进入循环

死循环 一直循环

while(1) C中间不为0的数都等于true,所以你以此为条件,当然是死循环了.你的意思是类似于这样的循环吧:int sum=0,iCount; for(iCount=1;iCount sum=sum+iCount;

while的判断是只有0才是假,才退出循环,就是只有当a/=10等于0的时候才退出.因为a是定义成int型的只要a/=10出现零点几的时候就会取整,就会变成0

无论你k取什么值,它都会无限循环因为k=-2 是赋值语句,只要声了中,那么赋值就会成功, 表达式值就是非0, 所以while会无限循环.

事实上没什么区别,c中的for, while可以说完全一样,而且 c中for ,while,do while三种循环一种能完成的,另二种都能完成,不过do..while与前两者的流程不一样, 只是人们一般习惯上确定次数的循环用for,不太确定的用while,但实际上它们两的的流程是一样的.

while()是先判断括号里面的是否成立,成立执行方法体内的语句. do while()是先执行方法体内语句再判断,do while()至少执行一次. #include void main(){ int sum=0,i; scanf("%d",&i); while(i void main(){ int sum=0,i; scanf("%d",&i); do{ sum=sum+i; i++; } while(i

while 里面的条件一直成立它就死循环了,我觉得要不你把 while 改成 if

prpk.net | bestwu.net | wkbx.net | mtwm.net | qwrx.net | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com