第15課論理演算子分析

979 ワード

論理対の優先度比論理または高例15-1:
include "stdio.h"
int main(){
int i = 0;
int j = 0;
int k = 0;
(++i) || (++j && ++k);
printf("%d
",i); printf("%d
",j); printf("%d
",k); return 0;

}出力結果:1,0,0例分析:(ture&&++i)結果は1;プログラムが短絡しても後で実行されないので、後のプログラムはもう実行されません.j,kは0です.
例15-2:
include "stdio.h"
int g = 0;int f(){
printf("In f()...
"); return g++;

}
int main(){
if(g || f() && f())
{
    printf("In if statement",g);
}
printf("int main():%d
",g); return 0;

}出力結果:In f()...int main():1 if文は実際にif((ture&&g)|(f()&&f()))));
例15-3:
include "stdio.h"
int main(){
printf("%d
",!0); printf("%d
",!1); printf("%d
",!100); printf("%d
",!-1000); return 0;

}出力結果:1000
まとめ: