关于C语言,一下程序的输出结果是()

int a,y;
a=10;y=0;
do
{a+=2;y+=a;printf("a=%d y=%d\n",a,y);
if(y>20) break;}
while(a=14);
A)a=12 y=12 B)a=12 y=12 C)a=12 y=12 D)a=12 y=12
a=14 y=16 a=16 y=28 a=14 y=26
a=16 y=20 a=14 y=44
a=18 y=2
请详解谢谢,,,

选B。
详细解答:
a+=2;y+=a;=>a=a+2=10+2=12;y=y+a=0+12=12
printf("a=%d y=%d\n",a,y); =>第一行输出为:a=12 y=12
if(y>20) 不成立,不执行break,
执行while(a=14);=>注意a=14是赋值语句,将a的值更新成14,a=14不等于0,while()语句为真,继续循环;
a+=2;y+=a;=>a=14+2=16;y=12+14=28;
printf("a=%d y=%d\n",a,y); =>第二行输出为:a=16 y=28
if(y>20) 成立,执行break,跳出 do·····while()循环,结束。
望采纳!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-13
选b
a+=2 a=12 y=a+0=12

a=14 y=a+a=28
相似回答