C语言关于数组的问题,请看图

请问为什么是6,请详细说明一下... 请问为什么是6,请详细说明一下 展开
 我来答
stormpang
推荐于2016-03-10 · TA获得超过448个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:105万
展开全部
首先声明了一个字符数组ch[7],它中存储的是字符串"65ab21"

for循环中i的初值为0,判断条件为 ch [i] >= '0' && ch[i] <= '9'
故一开始可以进入循序,
执行s = 10*s + ch[i] - '0'; 这时i = 0, ch[i] = '6' ,ch[i] - '0' = 6, s 的初值为0
故执行完一次后s = 6, i = 2;
而ch[2] = 'a' 不满足ch [i] >= '0' && ch[i] <= '9'
故跳出循环
输出6

在 s = 10*s + ch[i] - '0';这条语句中用到了自动类型转换,s是int 类型,ch[i]-‘0’的结果自动转化成int,再进行相加的操作。
HoLee1997
2015-01-20 · TA获得超过1961个赞
知道大有可为答主
回答量:2557
采纳率:84%
帮助的人:969万
展开全部
i是数组的下标,在for循环中i的step为2,是从0开始的,所以只能取到6,5就跳过了,碰到了a,不符合条件要求,所以就跳出循环了,所以就只能输出6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式