问题 问答题

请在该程序段右侧写出其输出结果。 main() {char *s="121"; int k=0,a=0,b=0; do{ k++: if(k%2==0) {a=a+s[k]-’0’;continue;) b=b+s[k]-’0’; a=a+s[k]-’0’;}while(s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b); }

答案

参考答案:

解析:k=2 a=3 b=2 main() {char *s="121"; /*获得字符数组"121"的首地址*/ int k=0,a=0,b=0: do{ k++; if(k%2==0) {a=at s[k]-’0’;continue;) /*"0"以ASCⅡ值参与运算*/ b=b+s[k]-’0’; /*数组s[]内的元素以ASCⅡ值参与运算*/ a=a+s[k]-’0’;}while(s[k+1]); /*循环终止条件是s[k+1]为空*/ printf("k=%d a=%d b=%d\n",k,a,b); }

选择题
单项选择题