问题
单项选择题
有以下程序:
#include <stdio.h>
main()
int s=0,a=1,n;
scanf("%d",&n);
do s+=1;a=a-2;
while(a!=n);
printf("%d\n",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,符合题意。