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

admin2010-04-24  21

问题 请在该程序段右侧写出其输出结果。
   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);
}
转载请注明原文地址:https://jikaoti.com/ti/citaFFFM
0

最新回复(0)