关于#dowhile#的问题,如何解决?

这串代码我自己做的是a=16,y=42
但是答案给的是a=16,y=60 不太理解

我的值是a 12 y12
第二次循环 a 14 y 26
第三次循环a 16 y42
到这里我认为是a不等于while里面的a=14然后就停止循环了

#include                               

int main()

{

int a,y;

a=10; y=0;

do{

           a+=2; y+=a;

           if(y>50) break;

}while(a=14);

printf("a=%d y=%d\n",a,y);

return 0;

}

while(a==14);
如果是你现在的while(a=14),这是个赋值语句,a每次被设置为14,while永远成立,所以循环退出的条件一定是y>50
第一次a=10,a+=2后a=12,y+=a后为12。然后每次循环a被设置为14,y每次就增加16,所以12+16+16=44时不会退出,再加16后,y=60,大于50就退出了

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^