我有以下代码。但是,我认为4就是答案。我是对的吗?
int a, i;
if (execute)
{
int count = 0;
for (i=0; i<5; i++)
{
if(pcnt[i]) count ++;
}
a = (count > 0)
}
else
{
a= 0;
}
对于IF情况,a = 1还是a = 4?
答案 0 :(得分:1)
a
将为1
或0
1
:如果execute != 0
和count >0
0
:否则
注意:强>
count >0
当且仅当pcnt[0]!=0
或pcnt[1]!=0
或pcnt[2]!=0
或pcnt[3]!=0
或pcnt[4]!=0
答案 1 :(得分:0)
首先,由于缺少分号,因此无法编译。如果变量没有被正确声明,它也可能有困难,但为了回答,我会假设它们已经存在。
现在,看看a
分配给了什么。我看到a = (count > 0)
和a = 0
。好(count > 0)
只会是0或1(C布尔表达式将解析为1表示true,0表示false)。基本上,您有a = 0 or 1
和a = 0
。这简化为a
为0或1。