while(x) { y ; x=x&(x-1); }
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/13 19:51:08
for循环的语法格式为:for(initialize;test;increment){statement}第一个分号之前的initialize代表初始值,假如你要对数组或是容器进行遍历的话可以定义初始
x=18y=0 do...while 循环,先执行一次循环体, 在判断是否需要再次执行循环体 懒得手写,你看下程序跑的过程吧:
应该是循环5次1:y=3x=76542:y=34x=7653:y=345x=764:y=3456x=75:y=34567x=0你可以把运行情况打开settalkon,在循环中加上一句waitwinds
判断y=y-1的值是否等于x,如果不等于则执行循环体,如果等于则退出循环,判断之后,不管是否等于,都让x自加1(即x=x+1).举个例子说明下吧,假如执行while语句前x的值为3,y的值为6:执行到
一开始x=-1,执行do语句{;},然后while语句判断,(x++是先赋值在运算,也就是说一开始判断时x=-1不变while(-1),但判断完x=x+1,x=0),继续执行do语句里的{;},在进行
RX=12345x=12345Y=0y=0DOWHILEX
没有告诉最初的x,y值,应该不会全为0,否则程序没有什么意思,只是在执行y的自加.
不用写测试代码也能验证,这玩意儿到底循环了多少次.答案楼上已经给出了:1100次原因:1,x为101时,执行循环中的if判断的内容,这时y自减1;2,x
x=x*y=8y=y+1=5不满足循环条件所以x=8
就是当x!=0时进入循环
x=2;do...while是先做再判断.
scanf的返回值由后面的参数决定scanf("%d%d",&a,&b);如果a和b都被成功读入,那么scanf的返回值就是2如果只有a被成功读入,返回值为1如果a和b都未被成功读入,返回值为0如果遇
store0tox,y&&将0赋值给X和Y,也就是说X和Y的值为0dowhilex
longy=1;intx=10;//while循环while(x>0){//y*x后,把结果赋值给yy=y*x;//x减1x--;//如果x等0跳出循环if(x==0){break;}}//输出Y的结
//语言有严格的语法,楼主写错了不少.//建议改正程序,再理解.#include<stdio.h>voidmain(){\x09inta=100,x=10,y=20,ok1=5,ok2=0
x自加到12的时候,if(x%3==0)满足,就break跳出while循环了,不会继续往下自加了.所以13,14,15,16这几个值x都走不到.再问:x不是到不了break那句话么不是输出就是con
x和y的初始值为0如果x
因为x++在while外,所以与while内的x值无关一次x=3while执行成功x+=2(x=5)二次x=5while执行成功x+=2(x=7)三次x=7while执行成功x+=2(x=9)四次x=
B是错的dox++;while(x==10);x++加;就是对的记住一句一定要加结束符;