所以我假设我有一个名为 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]
进行比较,但这并没有改变结果。
答案 0 :(得分:1)
您有一个由字符组成的字符串。
您需要与字符值进行比较:
if ( str[i] == '0' || str[i] == '1' )