下面程序输出结果是:
2个回答
展开全部
输出为:a=16
y=60,分析如下
main()
{
int
a,y;
a=10;y=0;
do
{
a+=2;//相当于a=a+2,每执行一次,a的值递增2
y+=a;//相当于y=y+a
if(y>50)break;//判断y的值,如果y的值增加之后大于50就直接退出循环(不再判断是否还满足下面的循环条件)
}while(a=14);//这里的循环条件不是判断是否满足a等于14,而是一个赋值语句,
//每次执行到这里都会将14赋值给a,因此这里的循环条件始终都是成立的,而且再次进入循环后始终都是a=14
printf("a=%d
y=%d\n",a,y);
}
根据以上分析:
循环开始前a=10;y=0;
完成第一次循环后a=12,y=12
执行到while后a=14,循环继续
第二次进入循环后a=14+2,即a=16,y=12+16,即y=28
执行到while后a=14,循环继续
第三次进入循环后a=16,y=28+16,即y=44
执行到while后a=14,循环继续
第四次进入循环后a=16,y=44+16,即y=60
这个时候因为y>50,将会直接退出循环。
所以得出结果为a=16,y=60
y=60,分析如下
main()
{
int
a,y;
a=10;y=0;
do
{
a+=2;//相当于a=a+2,每执行一次,a的值递增2
y+=a;//相当于y=y+a
if(y>50)break;//判断y的值,如果y的值增加之后大于50就直接退出循环(不再判断是否还满足下面的循环条件)
}while(a=14);//这里的循环条件不是判断是否满足a等于14,而是一个赋值语句,
//每次执行到这里都会将14赋值给a,因此这里的循环条件始终都是成立的,而且再次进入循环后始终都是a=14
printf("a=%d
y=%d\n",a,y);
}
根据以上分析:
循环开始前a=10;y=0;
完成第一次循环后a=12,y=12
执行到while后a=14,循环继续
第二次进入循环后a=14+2,即a=16,y=12+16,即y=28
执行到while后a=14,循环继续
第三次进入循环后a=16,y=28+16,即y=44
执行到while后a=14,循环继续
第四次进入循环后a=16,y=44+16,即y=60
这个时候因为y>50,将会直接退出循环。
所以得出结果为a=16,y=60
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询