选择题   有以下程序:
    #include<stdio.h>
    void main()
    {char ch[7]={'43ab21'};
    int i,s=0;
    for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)
    s=10*s+ch[i]-'0';
    printf('%d\n',s);
    }
    程序运行后的输出结果是______。
 
【正确答案】 D
【答案解析】main()函数定义一个字符数组ch,并使用字符串初始化,for循环从ch下标为0的字符开始,遍历所有下标为偶数的字符,由循环条件ch[i]>='0'&&ch[i]<='9'可知,若当前的字符是数字字符,那么执行循环体,否则终止循环。循环体中,将当前字符的ASCII码与'0'的ASCII码相减,与s的10倍相加重新赋给s,所以当i=0时,ch[0]是'4',满足循环条件,执行循环体,s=4;当i=2时,ch[2]是'a',不满足循环条件,循环终止,输出s的值。故本题答案为D选项。