/* 第二部分 */
/**
* 注意,循环开始的时候,m = 0, k = 1
* for循环在每一次迭代开始时判断字符数组s中的第k号元素是不是数字字符'0'~'9',
* 如果符合条件,执行循环体,如果不符合,结束for循环
* 循环体中语句的含义:
* 每次迭代最后都会令k值加1
* ============
* 下面开始分析每一次迭代:
* 第一次:m = 0, k = 1, s[k]即s[1] = '1', m = 0 * 10 + '1' - '0' = 0 + 1 = 1, k = 2
* 第二次:m = 1, k = 2, s[k]即s[2] = '2', m = 1 * 10 + '2' - '0' = 10 + 2 = 12, k = 3
* 第三次:m = 12, k = 3, s[k]即s[3] = '3', m = 12 * 10 + '3' - '0' = 120 + 3 = 123, k = 4
* 第四次:m = 123, k = 4, s[k]即s[4] = '4', m = 123 * 10 + '4' - '0' = 1230 + 4 = 1234, k = 5
* 第五次:m = 1234, k = 5, s[k]即s[5] = '5', m = 1234 * 10 + '5' - '0' = 12340 + 5 = 12345, k = 6
* 第六次:m = 12345, k = 6, s[k]即s[6] = '\0', 因为'\0'不是数字字符,所以for循环在这里结束
*/
for (m = 0; s[k] >= '0' && s[k] <= '9'; k++)
m = m * 10 + s[k] - '0';
/**
* sign = -1, m = 12345
* 打印sign * m 的结果
* 最终输出:Result=-12345
*/
printf ("Result=%d\n", sign * m);
return 0;
}