#include <stdio.h>
int main()
{
int a=6,y=0;
do{ a+=6;
y+=a;
if(y>20)
break;
}while(a=9);
printf("a=%d,y=%d\n",a,y);
}
注意循环条件为a=9,此处先给a赋值为9,再判断a是否为真(既a不为0)
此代码是考察对do...while的理解和使用;
do…while 和 while 的执行过程非常相似,唯一的区别是:“do…while 是先执行一次循环体,然后再判别表达式”。当表达式为“真”时,返回重新执行循环体,如此反复,直到表达式为“假”为止,此时循环结束。
开始时a=6,y=0, 第一次循环时,a=12, y=12,然后到while(a=9), a=9, 为真,继续执行上面的循环;第二轮循环:a=9+6=15, y=12+15 > 20 跳出循环;由此可知道:a=15和y=27的值。
初始状态
循环前的操作
进入第一轮循环,分别用q,p记录第1个和第2个结点
进入第2轮循环
直到链表为空,最终链表为: