-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

または_ a_10

1:もしexecute != 0そしてcount >0

0: そうでなければ

ノート:

count >0場合のみpcnt[0]!=0またはpcnt[1]!=0またはpcnt[2]!=0またはpcnt[3]!=0またはpcnt[4]!=0

于 2013-03-26T12:55:45.643 に答える
0

まず、セミコロンがないため、これはコンパイルされません。変数が正しく宣言されていないと難しいかもしれませんが、答えるために、宣言されていると仮定します。

a次に、に割り当てられているものを見てください。なるほど。a = (count > 0)_ a = 0ウェル(count > 0)は0または1のみになります(Cのブール式では、trueの場合は1に、falseの場合は0に解決されます)。つまり、基本的に、とがa = 0 or 1ありa = 0ます。これによりa、0または1になります。

于 2013-03-26T12:56:56.063 に答える