问题
单项选择题
下列程序的输出结果是______。 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。