找出整数解析函数时遇到问题

时间:2018-12-21 19:35:01

标签: c

我的朋友为我们的项目提供了此功能:

int parseInt(char c) {
    return c - '0';
}

我的朋友说它将字符转换为整数。

用户输入包含单词和数字的字符串,稍后我们必须在数组中使用数字,因此我们需要将它们转换为整数。

但是我很难理解该功能及其实际工作原理。

1 个答案:

答案 0 :(得分:5)

此功能采用与数字'0''9'之一相对应的字符。 C标准规定这些数字的字符代码具有连续的值。

因此,当从给定的字符代码中减去'0'的字符代码,即0的字符代码时,最终得到的值介于0到9之间。

例如,在ASCII中,'0''9'的代码为48、49、50、51、52、53、54、55、56、57。因此,如果您输入{{ 1}}为此功能执行'4',与'4' - '0'相同,为4。