#include<stdio.h>
int main(void)
{
int i;
char ch;
/*display all numbers that are multiples of 6*/
for(i=1; i<10000; i++){
if(!(i%6)){
printf("%d, more?(Y/N)", i);
ch= getche();
if(ch=='N')break; /* stop the loop*/
printf("\n");
}
}
return 0;
}
プログラムの目的:プログラムは6の倍数を印刷します。そしてキーを押すとプログラムの実行を停止できます。if(!(i%6))の論理NOT演算子の処理
プログラムの動作:forループでは、システムは指定された条件に対してiの値をチェックします。 iの値が10000より小さい場合はforの下の文が実行されます。 forループの最初の文はif文です。 if文の条件が真であれば、if文のすべての文が実行されます。条件が偽になると、すべてのステートメントはスキップされます。
たとえば、i = 6の場合、forの条件がチェックされます。 true 6は100000より小さい。次にif文が実行を開始する。 statementがtrueになると、iの値はシステムによって出力されます。
私の質問:if(!(i%6))の条件の意味はどういう意味ですか?私の価値が6の倍数であるかどうかチェックする方法は?
ありがとうございます。
という演算子が使用されるときは常に
do_it()
が呼び出されます。 'i'が' 6'の倍数であれば 'if'本体を実行します。 'if(i%6 == 0)'と等価です。 – haccks何が働いていないのですか?なぜ(i%6 == 0)? –
私はあなたが知りたいことがわかりません。 NOT演算子は 'true'から' false'へ、またその逆に切り替わります。 'false'は数字の' 0'または 'NULL'と' true'はそれ以外のものです(ほとんどが '1'ですが' 1237234'でもよい) –