下面程序的输出结果是什么?

#include
main()
{char ch[7]="12ab56";
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[i]='1',符合循环条件,进入循环体;
此时,s=0;
s=0+ch[0]-'0'='1'-'0'=1
然后是i+=2,即i=2.
而ch[2]='a',不符合循环条件,所以退出循环体,执行输出语句
printf("%d\n",s),
即显示整数“1”后结束程序
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答