ページ 11

条件の結合と否定 - 複雑な論理式

Posted: 2021年4月24日(土) 12:03
by 大熊
ifの条件式について質問です。||を使い右辺と左辺の少なくとも一つの条件式が真の場合の評価をすると推測しましたがどのようにすればいいかわかりません。ifの後の条件式には何が入りますか


コード:

 
#include <stdio.h>
// ----------------------------------------
// [条件の結合と否定 - 複雑な論理式4]
// ----------------------------------------
// 条件x1, x2のいずれかが満たされ、かつx3が満たされるならば
// "キリの良い正の整数"そうでなければ、"ふつうの整数"と出力してください

int main(void) {
	int a = 5;
	
	int x1 = a % 2 == 0; // 2で割り切れる
	int x2 = a % 5 == 0; // 5で割り切れる
	int x3 = a > 0;
	
	if (x1  x2  x3) {
		printf("キリの良い正の整数");
	} else {
		printf("ふつうの整数");
	}
}

Re: 条件の結合と否定 - 複雑な論理式

Posted: 2021年4月24日(土) 13:41
by box
条件x1, x2のいずれかが満たされ、かつx3が満たされるならば
ってことなら、

コード:

    if ((x1 || x2) && x3) {
    }
とでも書けばいいんじゃない?
(x1 || x2)
ってカッコが付いてるのは、&&の方が||よりも優先順位が高いから。