C语言菜鸟问题(15)

来源:百度知道 编辑:UC知道 时间:2024/05/08 00:45:04
以下程序段的执行结果是( )
int a,y
a=0;y=0;
do
{ a+=2;y+=a;
printf("a=%d y=%d\n",a,y);
if(y>20) break
}while(a=14)
...

帮助小弟讲解一下谢谢啦 还有后面那三个小点点是嘛意思。。。
我要的不是答案。。。

a=2 y=2
a=16 y=18
a=16 y=34
第一次执行循环,a增加2,因此a=2,y增加a的值,因此y=2
执行到while(a=14) ,由于括号内为一赋值语句,此时a=14,此表达式的值为14(非0),符合循环条件,因此继续执行循环,a增加2,因此a=14+2=16,y增加a的值,因此y=2+16=18;执行到while(a=14)同上,a=14,因此继续执行循环,a=14+2=16,y=18+16=34,此时y>20,符合if语句条件,执行break跳出循环,因此结果为
a=2 y=2
a=16 y=18
a=16 y=34

a=2 y=2
a=16 y=18
a=16 y=34

a=2 y=2
a=16 y=18
a=16 y=34

程序有两个问题:
1.if(y>20) break 在break后应该有 ;号

2.while语句结束后应该有 ; 号。

三个小点点表示下面的程序代码省略