求一个C++程序的输出结果

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:42:08
下面C++程序的输出结果是:
#include<iostream>
using namespace std;
void 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;
}
答案是a=16,y=60,为什么呀?

while(a=14);这里是=不是==,==才识判断语句,你用a=14会判断为一直是真,直到Y的值>50时才退出循环,
if(y>50)break;

很简单的一个循环控制啊
这个循环主要区别是while循环和do while的区别
当a=14的时候do while还要执行一次,这就是它的主要特点,那就是不管怎么样都要先执行一次,也就是执行的do然后再跳出循环,所以a的输出也就是16

我也是刚刚接触C和C++,还希望大家多互相学习共同提高啊413532520

我想LZ所疑惑的是while(a=14); 这句。
a=14并不是判断a是否为14而是将14赋值给a,判断等于是==不是=,
只有当y大于五十后才会退出循环。