#include <stdio.h> int main() { char ch[]="453cd34"; int i,s=0; for(i=0;ch[i]>'0'&&ch[i]<'9';i+=2) s=10*s+ch[i]-'0'; printf("%d",s);//运行结果为43 }
请问为什么结果是43呢,
收起
i每次加2,即字符数组下标为(0.2.4.6)会经过for循环的判断,其中4下标的d不满足要求,for循环退出,接下来看s的变化4进入for循环,s变为43进入for循环,s为40+3=43
望采纳
报告相同问题?