我是初学程序员,
我有一个名为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
干杯
答案 0 :(得分:1)
在我看来,它正在寻找一个价值。如果存在,请跳过。如果没有,请将其添加。这是伪代码:
for i = 0 to the value in count
if number is equal to myArray at position i
Set a flag to say the number has been found.
if(the flag is not set, the number has not been found)
Set myArray at position count to the number i'm searching for
increase count.
答案 1 :(得分:1)
<强>通知强>
由于代码不完整,我必须做一些假设:
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
为false
),则数字在下一个位置(myArray [ count ] = number;
)添加,count
增加1( count++;
)。
假设数组包含值1
,5
和7
。
Number的值为4
,count为3
,因为该数组包含3
个元素。
For循环:
第一次迭代
i
的值为0
- &gt; 0
小于3
(count
)
if (number == myArray[i])
- &gt; if (4 == myArray[0])
- &gt; if (4 == 1)
- &GT; false
第二次迭代
i
的值为1
- &gt; 1
小于3
(count
)
if (number == myArray[i])
- &gt; if (4 == myArray[1])
- &gt; if (4 == 5)
- &GT; false
第三次迭代
i
的值为2
- &gt; 2
小于3
(count
)
if (number == myArray[i])
- &gt; if (4 == myArray[2])
- &gt; if (4 == 7)
- &GT; false
第四次迭代
i
的值为3
- &gt; 3
不小于3
(count
)
for
结束
下一步
containsNumber
仍为false
if ( !containsNumber )
- &gt; containsNumber
的值被否定,意味着if (true)
myArray [ count ] = number;
- &gt; myArray [ 3 ] = 4;
number
(4
)的值设置为数组的第四个位置(请记住,数组以0
开头)。
现在,数组包含值1
,5
,7
和4
。
答案 2 :(得分:0)
如果“数字”不在“myArray”数组中,则数字将分配给当前位置(计数)上的数组。
答案 3 :(得分:0)
第一个if语句
if (number == myArray[i])
检查i
中myArray
位置的项目是否等于变量number
包含的值
第二个if语句
if ( !containsNumber )
检查变量containsNumber
的值是否为false。如果是,则可能意味着该数组不包含数字
在这种情况下,myArray [ count ] = number;
将数组位置count
的项目设置为您之前搜索的number
,以便现在数组中也包含此值
答案 4 :(得分:0)
有两个if
语句,你的意思是哪一个?
if (number == myArray[i])
如果number
等于i
中的元素myArray
。
if ( !containsNumber )
如果containsNumber
是false
。
答案 5 :(得分:0)
它会检查number
中的myArray
。如果myArray
未包含number
,则会将该数字存储在myArray
指定的count
的最后一个索引处,并将count
增加1。 / p>
答案 6 :(得分:0)
第一个IF声明
if (number == myArray[i])
检查myArray中是否有数字。如果没有,则在当前索引位置添加数字&amp;递增计数。
答案 7 :(得分:0)
实际上,您放置的代码仅检查数组'myArray'中是否存在值'number'。然后,IF条件检查变量containsNumber并增加FOR中使用的限制'count'。但是这个IF条件不是FOR的一部分,它在外面。
可能缺少大括号来界定FOR。
这是机器解释的内容:
for(int i = 0; i < count; i++)
if (number == myArray[i])
{
containsNumber = true;
}
if ( !containsNumber )
{
myArray [ count ] = number;
count++;
} // end if