问题
单项选择题
有以下程序段: int n, t=1, s=0; scanf("% d", &n); do{s=s+t; t=t-2; )while(t!=n); 为使程序不陷入死循环,从键盘输入的数据应该是______。
A.任意正奇数
B.任意负偶数
C.任意正偶数
D.任意负奇数
答案
参考答案:D
解析: do-while循环是先执行循环体再进行条件判断,当执行了一次循环以后,t变成了-1,每次循环后t都减2,t将永远为负奇数,又循环结束的条件是n=t,因此只有当n为负奇数时才不会陷入死循环。