我是一个初学者程序员,
我有一个名为myArray的数组,想知道这段代码中的if语句到底要做什么。另外myArray [count]有什么作用?
for(int i = 0; i < count; i++)
if (number == myArray[i])
{
containsNumber = true;
}
if ( !containsNumber )
{
myArray [ count ] = number;
count++;
} // end if
干杯
注意
因为代码不完整,所以我必须做一些假设:
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)
将是相同的。
如果该数字不在数组中(containsNumber
is false
),则将其添加到下一个位置(myArray [ count ] = number;
)并count
加一(count++;
)。
假设数组包含的值1
,5
和7
。Number具有值,4
而count是3
因为数组包含3
元素。
对于循环:
第一次迭代
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
,7
和4
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句