获取字符数组中启动值的长度

时间:2014-10-19 20:04:06

标签: c

所以我假设我有一个名为 str 的大小为12的字符数组,我在数组中输入1000110,str [0] = 1,str [1] = 0等...我通过在for循环中打印它来测试数组,它可以工作。

然后我想计算在数组中启动了多少个整数。在这种情况下,值应为:7

这是我的代码,无论出于何种原因,输出为1,而不是7.

int length;
length = 12;

int actual_length()
{
    int act_length = 0;
    int i;
    for (i = 0; i < length; i++)
    {
        if ( str[i] == 0 || str[i] == 1 )
        {
            act_length++;
        }
    }
    printf("TEST ACTUAL LENGTH: %d\n", act_length);
    return act_length;
}

我也试过

(int)str[i]

进行比较,但这并没有改变结果。

1 个答案:

答案 0 :(得分:1)

您有一个由字符组成的字符串。

您需要与字符值进行比较:

 if ( str[i] == '0' || str[i] == '1' )