我有下面的代码。但是,我认为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 a = 1或a = 4?
我有下面的代码。但是,我认为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 a = 1或a = 4?
的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
我想你的意思是“if'execute!= 0'”。 – 2013-03-26 12:57:08
@JoachimPileborg这是正确的我抨击它 – MOHAMED 2013-03-26 12:58:48
首先,由于缺少分号,因此无法编译。如果变量没有被正确地声明,它也可能会有困难,但为了回答,我会假定它们已经被使用了。
现在,看看a
分配给什么。我看到a = (count > 0)
和a = 0
。那么(count > 0)
将只会是一个0或1(在C布尔表达式将解析为1为真和0为假)。所以基本上,你有a = 0 or 1
和a = 0
。这简化为a
是0或1.
运行代码并找出... – 2013-03-26 12:54:27
在这之后,a是多少? – 2013-03-26 12:54:54
定义了'pcnt []'的位置? – Mike 2013-03-26 12:54:55