求高手指点
下列程序运行结果: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);
}
我是这样理解的:i=0时,ch[0]=4,s=10*0+4=4;
i=2时,ch[2]=a,a的代码值不符合条件,退出;
i=4时,ch[4]=2,s=4*10+2=42
所以最后的结果应为42,而标准答案是4,有哪位帮助并详细给解释下,谢谢!