问题 单项选择题

有以下程序段: 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为负奇数时才不会陷入死循环。

单项选择题
单项选择题