余昭妍 发表于 2020-6-26 16:25:55

循环问题

以下程序段的执行结果是      。

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=12 y=12

a=16 y=28
为什么不是
a=12 y=12

a=14 y=26

sunrise085 发表于 2020-6-26 16:30:21

因为你的while循环条件写错了。你应该是打算写
while(a==14)
但是写成了
while(a=14)
这是给a赋值为14

NukaCola 发表于 2020-6-26 16:35:03

while里面的条件写错了,写成赋值符号了。
应该是
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);

NukaCola 发表于 2020-6-26 16:37:31

sunrise085 发表于 2020-6-26 16:30
因为你的while循环条件写错了。你应该是打算写
while(a==14)
但是写成了


错啦,是while(a!=14)
页: [1]
查看完整版本: 循环问题