我有下面的代码。但是,我认为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
首先,由于缺少分号,这不会编译。如果未正确声明变量也可能会遇到困难,但为了回答,我将假设它们已经正确声明。
现在,看看a分配给什么。我看到a = (count > 0)和a = 0。Well(count > 0)永远只会是 0 或 1(在 C 中布尔表达式将解析为 1 表示真,0 表示假)。所以基本上,你有a = 0 or 1和a = 0。这简化为a0 或 1。