结果是k=2 a=3 b=2
include <stdio.h>
int 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=%",k,a,b);
return 0;
}
结果是k=2 a=3 b=2
include <stdio.h>
int 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=%",k,a,b);
return 0;
}
爱学习的小辣鸡!
先第一次循环,k++使得k=1,k%2==0不成立 b=s[1]-'0' = 2,a同样为2
s[k+1] = s[2] = '1' > 0,继续循环
k++使得k=2,k%2==0成立,a=2+s[2]-'0' = 2+1=3 continue继续执行,但此时s[k+1] = s[3] = 0,while条件不满足,退出循环
打印,根据上述过程可知,k=2,a=3,b=2