我有下面的代碼。但是,我認爲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