请解释一个简单C++程序

来源:百度知道 编辑:UC知道 时间:2024/06/06 00:48:02
下面程序运行结果为a=16,y=60;请帮忙解释为什么得这两个数~
#include<iostream.h>
using namespace std;
int main()
{int a,y;
a=10;
y=0;
do
{ a+=2;y+=a;
if(y>50)break;
}while(a+4);
cout<<"a="<<a<<",y="<<y<<endl;
system("pause");
return 0;
}
不好意思,上面那个是错的,那个循环条件是while(a=14);完整的程序下面.
#include<iostream.h>
using namespace std;
int main()
{int a,y;
a=10;
y=0;
do
{ a+=2;y+=a;
if(y>50)break;
}while(a=14);
cout<<"a="<<a<<",y="<<y<<endl;
system("pause");
return 0;
}

12+16+16+16+16=60
#include<iostream.h>
using namespace std;
int main()
{int a,y;
a=10;
y=0;
do
{ a+=2;y+=a; //a每次加2,y每次加a,y是累加器
if(y>50)break; //如果y超过50就跳出并打印
}while(a=14); //注意了,这个不仅始终为真,而且每次把a赋为14.就是说a到第二次循环就不变了为14,而y每次加的是16。。。
cout<<"a="<<a<<",y="<<y<<endl;
system("pause");
return 0;
}

第一循环 a=4 y=4
第二次 a=6 y=10
三 a=8 y=18
四 a=10 y=28
五 a=12 y=30
六 a=14 y=44
七 a=16 y=60
此时y>50循环终止