问题
单项选择题
下列程序的输出结果是______。
main()
char*s="1221";
int k=0,a=0,b=0;
do
if(k%2==0)
a=a+s[k]-’0’;
continue;
b=b+s[k]-’0’;
while(s[++k]);
printf("k=%d a=%d b=%d\n",k,a,b);
A.k=3 a=4 b=3
B.k=3 a=3 b=3
C.k=4 a=3 b=3
D.k=4 a=2 b=3
答案
参考答案:C
解析:
[分析]:将数字字符串中下标值能被2整除的元素值(字符)转换为数字累加到变量a中,将数字字符串中下标值不能被2整除的元素值(字符)转换为数字累加到变量b中,循环结束时,a、b的值均为3,k是字符结束符的下标值,为4。