从c中的字符串中获取整数

时间:2013-12-08 18:28:21

标签: c string char integer

    char str[]="abcde1fgh";
    int i;
    i=str[5];
    return;  

在此过程之后,整数i必须为1.但它不是。为什么不?

1 个答案:

答案 0 :(得分:2)

您的代码不起作用,因为在您的示例中1是一个char。 请尝试以下方法:

int i = str[5] - '0';

以下是它有效的原因:基于Jamal在下面的评论中的解释

通过减去一些字符来获得数值,例如str[5],字符为'0'。每个字符的数值都在ASCII表中找到。在此示例中,我们减去等于49的{​​{1}}(对应'1')减去48(对应'0')。