中易网

#include<stdio.h> main() {int a,y; a=10;y=0; do{a+=2;y+=a; printf("a=%d\ny=%d\n&q

答案:4  悬赏:20  
解决时间 2021-01-15 02:32
  • 提问者网友:遮云壑
  • 2021-01-14 10:25
#include<stdio.h> main() {int a,y; a=10;y=0; do{a+=2;y+=a; printf("a=%d\ny=%d\n",a,y); if(y>20)break
最佳答案
  • 二级知识专家网友:一把行者刀
  • 2021-01-14 10:43
答案应该是12 12 16 28
认真看,最初a=10,y=0,a=a+2=12,y=y+a=12,这是最初的输出值,
while后的()中的a=14并不是a==14,这要分清,前者是吧a赋值14,而14非零,继续重复循环,后者是判断条件。
在之后 a=14带入循环,a=16,y=28,if判断条件满足,进行if程序,break跳出循环。
结束。。。
全部回答
  • 1楼网友:鸠书
  • 2021-01-14 13:24
while(a=14); a=14 为赋值语句 条件一直成立 一直循环 循环到y>20跳出循环
do ···while 循环 先执行循环体do
  • 2楼网友:酒醒三更
  • 2021-01-14 11:57
楼上说的有错误,在他的基础上稍加更正,请见下面
#include
main()
{int a,y;
a=10;y=0;
do{a+=2;y+=a;执行a+2则a=12,执行y+a,则y=14
printf("a=%d\ny=%d\n",a,y);//显示a=12及换行后显示y=14再换行
if(y>20)break;}//判断,如果y>20则跳出循环。此程序中y=14,故不用跳出循环
while(a=14);//这是重点,这句的意思是给变量a赋值为14,并判断a的值是否为true,所以这里a的值一直是14,那么永远为真,因此这里永远不会跳出循环,只有期待循环体里的上一行代码,当y的值大于20才有可能跳出循环。
printf("\n");//显示语句,此时只是换行而已
}
  • 3楼网友:躲不过心动
  • 2021-01-14 11:46
#include
main()
{int a,y;
a=10;y=0;
do{a+=2;y+=a;//执行a+2则a=12,执行y+a,则y=14
printf("a=%d\ny=%d\n",a,y);//显示a=12及换行后显示y=14再换行
if(y>20)break;}//判断,如果y>20则跳出循环。此程序中y=14,故不用跳出循环
while(a=14);//当a=14时,重复执行循环(从do...开始执行),此程序a=12,故不再执行循环
printf("\n");//显示语句,此时只是换行而已
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息