注意
因为代码不完整,我不得不做一些假设:
- 所有变量都在之前声明和初始化
count表示数组中的元素个数
- 数组足够大
containsNumber初始化为false
短的
它检查给定的数字是否存在于数组中,如果不存在,它将添加它。
解释
首先,为了使其更具可读性,我们可以在 for 指令之后添加两个大括号:
for(int i = 0; i < count; i++)
{
if (number == myArray[i])
{
containsNumber = true;
}
}
if ( !containsNumber )
{
myArray [ count ] = number;
count++;
} // end if
因为后面没有括号,for只会影响后面的语句或块,也就是if语句。
首先,代码将遍历数组并检查每个小于count(的值i给定数字
如果找到值 ( if (number == myArray[i])),则将变量containsNumber设置为true。
遍历数组后,containsNumber检查变量。
if语句必须包含一个布尔值,因此您可以只写而if (containsNumber)不是if (containsNumber == true).
!否定布尔值。这意味着您检查是否containsNumber不正确。if (containsNumber != true)或if (containsNumber == false)将是相同的。
如果该数字不在数组中(containsNumberis false),则将其添加到下一个位置(myArray [ count ] = number;)并count加一(count++;)。
例子
假设数组包含值1和。Number 有值,count 是因为数组包含57433元素。
对于循环:
第一次迭代
i具有值0-->0小于3( count)
if (number == myArray[i])--> if (4 == myArray[0])-->if (4 == 1)
-->false
第二次迭代
i具有值1-->1小于3( count)
if (number == myArray[i])--> if (4 == myArray[1])-->if (4 == 5)
-->false
第三次迭代
i具有值2-->2小于3( count)
if (number == myArray[i])--> if (4 == myArray[2])-->if (4 == 7)
-->false
第四次迭代
i具有值3-->3不小于3( count)
for结束
下一步
containsNumber还是false
if ( !containsNumber )--> 取反的值containsNumber是什么意思if (true)
myArray [ count ] = number;-->myArray [ 3 ] = 4;
number( )的值4设置为数组的第四个位置(请记住,数组以 开头0)。
现在数组包含值1、5和。74