我想用c程序解决这个问题
有人能指导我如何在if-else语句中正确地表达这一点吗。 考虑下面的if语句,其中<代码> DoEngEngimigWorks,<代码> Max突破,和<代码> NBELPRISZECANDATED> /CARD>都是布尔变量:我想用c程序解决这个问题,c,if-statement,C,If Statement,有人能指导我如何在if-else语句中正确地表达这一点吗。 考虑下面的if语句,其中 DoEngEngimigWorks, Max突破,和 NBELPRISZECANDATED> /CARD>都是布尔变量: if (doesSignificantWork) { if (makesBreakthrough) nobelPrizeCandidate = true; else nobelPrizeCandidate = false; } else if
if (doesSignificantWork) {
if (makesBreakthrough)
nobelPrizeCandidate = true;
else
nobelPrizeCandidate = false;
}
else if (!doesSignificantWork)
nobelPrizeCandidate = false;
首先,编写一个简单的if语句,该语句与此语句等效。然后编写一个赋值语句,执行相同的操作
if (doesSignificantWork) {
if (makesBreakthrough)
nobelPrizeCandidate = true;
else
nobelPrizeCandidate = false;
}
else if (!doesSignificantWork)
nobelPrizeCandidate = false
相当于
nobelPrizeCandidate = (doesSignificantWork && makesBreakthrough);
你可以做出一个决定。第一步是识别输入,并记下其值的所有组合
Input Output
d m n
0 0 ?
0 1 ?
1 0 ?
1 1 ?
然后填入正确的输出值
Input Output
d m n
0 0 0
0 1 0
1 0 0
1 1 1
现在您应该看到输出函数对应于逻辑AND(
&&&
)。如果语句为:
if (doesSignificantWork && makesBreakthrough)
nobelPrizeCandidate = true;
else
nobelPrizeCandidate = false;
@Blaze的回答给了你最简单的一句话。另一种选择是
nobelPrizeCandidate = (doesSignificantWork && makesBreakthrough) ? true : false;