c语言选择题

有以下程序段intn,t=0,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据以下... 有以下程序段
int n,t= 0,s=0;
scanf("%d",&n);
do{ s=s+t;t=t-2; } while (t!=n);
  为使此程序段不陷入死循环,从键盘输入的数据以下最合适的选项是( )
A.任意负奇数 B.任意偶数 C.任意整数 D.任意负偶数

求答案和解释~~~~~~~~~
展开
 我来答
小菜呀小菜
2013-12-10 · TA获得超过256个赞
知道小有建树答主
回答量:267
采纳率:50%
帮助的人:148万
展开全部
B 和 D都可以让它结束循环,但最合适的是D
为什么选B也可以呢?
因为但变量储存的数超过了它的最大限制时,它储存的数会变成在它范围内的另一个数.
具体是哪个数跟它变量类型和储存数据的方式有关。
简单的说,如果一个整型变量i,开始等于2,接着一直加2,加到一定程度它会变成负的偶数,所以只要死偶数就可以让它不是死循环,当然,最好的是负偶数。
这称为溢出~~~~~~~~
凡思多客
2013-12-10 · TA获得超过183个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:69.4万
展开全部
选d
t从0开始,每做一次while循环,值就减2,所以t的值只能为
0, -2, -4, -6, -8...
若输入的n为-1,t永远不会和n相等,所以t!=n一直为真,while循环会一直继续下去。排除A
同理,若输入的n为2,t也永远不会和n相等,排除BC
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2013-12-10 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6338万
展开全部
这也叫题?任意偶数不包括任意负偶数?是偶数都能使之结束循环,直接输入负偶数快一点而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水撒了一地
2013-12-10 · TA获得超过305个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:183万
展开全部
t从零开始,第一次执行结束为-2;然后每次减2;所以选择D任意负偶数;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
影溪月0N
2013-12-10 · TA获得超过146个赞
知道答主
回答量:13
采纳率:0%
帮助的人:2.7万
展开全部
选D s和t每次以负二增长所以只要是负偶数总会有和t相等的时候,相望你能听懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式