A-A+

请在该程序段右侧写出其输出结果。main(){char *s=121;int k=0 a

2022-08-06 10:43:17 问答库 阅读 178 次

问题详情

请在该程序段右侧写出其输出结果。
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=%dn",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);
}

考点:结果,程序