A-A+

有以下程序: #include <stdio.h> main() { int s=0 a=1

2022-08-06 03:05:42 问答库 阅读 175 次

问题详情

有以下程序: #include <stdio.h> main() { int s=0,a=1,n; scanf("%d",&n); do {s+=1;a=a-2;} while(a!=n); printf("%dn",s); } 若要使程序的输出值为2,则应该从键盘给n输入的值是()。
A.-1
B.-3
C.-5
D.0请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:本题考查do-while语句。当n=-1时,s+=1,s=1;a=a-2=-1;a!=n不成立,结束循环,此时s值为1,不符合题意;当n=-3时,s+=1,s=1;a=a-2=-1;a!=n成立,继续循环,s=s+1=2,a=a-2=-3;a!=n不成立,此时s值为2,符合题意。

考点:程序