有以下程序         main()         {int y=10;         while(y-);printf("y=%d\n",y);         }         程序执行后的输出结果是______。

admin2009-03-05  23

问题 有以下程序         main()         {int y=10;         while(y-);printf("y=%d\n",y);         }         程序执行后的输出结果是______。

选项 A、y=0
B、y=1
C、y=1
D、while构成无限循环

答案B

解析 此题考核的是while条件语句及自减运算。当while的条件表达式成立时(非零),重复执行循环体,但此题的 while循环无循环体,则只要while的条件表达式成立,就不断执行while条件表达式,直到其条件表达式不成立,程序就自动跳出while循环,直接执行printf语句。“y—”表示先运用y的值,再进行y自减。本题一开始先判断y为10的值是否满足条件(同时y的值自减1),显然y=1O条件满足,则再次执行while语句,判断y为9的值是否满足条件 (同时y的值自减1)……直到判断y为0的值是否满足条件(同时y的值自减1,即y=-1),此时条件为假,退出循环,执行printf语句,输出y=-1。
转载请注明原文地址:https://kaotiyun.com/show/VlXp777K
0

最新回复(0)