问题
单项选择题
有以下程序段:int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是______。
A.任意正奇数
B.任意负偶数
C.任意正偶数
D.任意负奇数
答案
参考答案:D
解析:要使得程序段不陷入死循环,则必须存在终止循环的条件“t=n”,由于 t 的初始值为 1,且每执行 一次循环都会使得 t 的值减 2,故执行本程序后 t 有可能的最大值为-1,然后,依次减 2,所以键盘输入的 n 的值必须是 t 的值之一,即为任意负奇数。