#include"iostream.h"voidmain(){inta=10,y=0;do{a+=2,y+=a;cout<<"a="<<a<<",y="<<y<<endl;if(y>20)break;}while(a=14);}结果为:12,12;16,28;这个28是怎么算出来的?...

展开全部
收起
2回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Pascha

    15人对此回答表示赞同

    这个题比较坏,呵呵,它设了一个陷阱,就是while中是a=14而不是a==14
    而赋值表达式a=14的值非零,因此不仅保证始终循环(只能由break跳出),且每一次循环末都发生了一次a=14的赋值
    所以第一次循环
    a=10+2=12
    y=0+12=12
    (循环末赋值a=14)
    第二次循环,
    a=14+2=16
    y=12+16=28
    y已经大于20,跳出
    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 雪先生

    14人对此回答表示赞同

    1.先进入第一次循环,完成后a=12,y=12.
    2.执行到while(a=14); 将a的值变为14.
    3.进入do语句 a+=2 之后a的值变为16.
    4.执行y+=a;语句,此时y的值仍为第一次循环结束时的值,即12。y+=a即y=12+16;于是乎,它就等于28了。
    展开
    14
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部