-6

我有下面的代码。但是,我认为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

2 回答 2

1

a10

1: 如果execute != 0count >0

0: 否则

笔记:

count >0当且仅当pcnt[0]!=0pcnt[1]!=0pcnt[2]!=0pcnt[3]!=0pcnt[4]!=0

于 2013-03-26T12:55:45.643 回答
0

首先,由于缺少分号,这不会编译。如果未正确声明变量也可能会遇到困难,但为了回答,我将假设它们已经正确声明。

现在,看看a分配给什么。我看到a = (count > 0)a = 0。Well(count > 0)永远只会是 0 或 1(在 C 中布尔表达式将解析为 1 表示真,0 表示假)。所以基本上,你有a = 0 or 1a = 0。这简化为a0 或 1。

于 2013-03-26T12:56:56.063 回答