C中IF语句的基本条件检查
有人能解释一下这段代码到底是怎么回事吗? 如果我放入AND语句,消息将不会显示值是否小于0或大于10。。。我想我必须用10的逻辑来解决这个问题,对吗? 我只需要有人简要解释一下C中IF语句的基本条件检查,c,conditional,if-statement,C,Conditional,If Statement,有人能解释一下这段代码到底是怎么回事吗? 如果我放入AND语句,消息将不会显示值是否小于0或大于10。。。我想我必须用10的逻辑来解决这个问题,对吗? 我只需要有人简要解释一下 #include<stdio.h> main(){ puts("enter number"); scanf("%d",num); if(num<0 || num >10) puts("yay"); } #包括 main(){ 看跌期权(“输入数字”); scanf(“%d
#include<stdio.h>
main(){
puts("enter number");
scanf("%d",num);
if(num<0 || num >10)
puts("yay");
}
#包括
main(){
看跌期权(“输入数字”);
scanf(“%d”,num);
if(num10)
看跌期权(“耶”);
}
当和被放置时,IF语句如何不同:
#include<stdio.h>
main(){
puts("enter number");
scanf("%d",num);
if(num<0 && num >10)
puts("yay");
}
#包括
main(){
看跌期权(“输入数字”);
scanf(“%d”,num);
if(num10)
看跌期权(“耶”);
}
谢谢 这是基于布尔逻辑的:
true || true -> true
true || false -> true
false || true -> true
false || false -> false
true && true -> true
true && false -> false
false && true -> false
false && false -> false
请注意,当一方为真,另一方为假时,它们是如何不同的
无论如何,在你的测试中:
if(num<0 && num >10)
if(num10)
一个数字不可能同时是
<0
和>10
。因此,您将计算true&&false
(负数),false&&false
(0到10之间的数字)或false&&true
(大于10的数字)。在所有这些情况下,布尔逻辑表示答案为false
这是基于布尔逻辑的:
true || true -> true
true || false -> true
false || true -> true
false || false -> false
true && true -> true
true && false -> false
false && true -> false
false && false -> false
请注意,当一方为真,另一方为假时,它们是如何不同的
无论如何,在你的测试中:
if(num<0 && num >10)
if(num10)
一个数字不可能同时是<0
和>10
。因此,您将计算true&&false
(负数),false&&false
(0到10之间的数字)或false&&true
(大于10的数字)。在所有这些情况下,布尔逻辑说答案是false
布尔逻辑
如果使用| |(或),则如果满足任何条件,则该语句为真。如果使用&&(AND),则只有在满足所有条件时,该语句才为真。因此,在第二个示例中,如果数字既小于0又大于10,则该语句为真。显然没有这样的数字。布尔逻辑
如果使用| |(或),则如果满足任何条件,则该语句为真。如果使用&&(AND),则只有在满足所有条件时,该语句才为真。因此,在第二个示例中,如果数字既小于0又大于10,则该语句为真。显然没有这样的数字。1)我相信您在scanf字符串中忘记了一些字符:
scanf("%d",&num);
2) 如果数字小于0或大于10,则第一个示例将显示“yay”
第二个示例永远不会说“yay”b/c编号必须同时小于0和大于10我相信您忘记了scanf字符串中的一些字符:
scanf("%d",&num);
2) 如果数字小于0或大于10,则第一个示例将显示“yay”
第二个示例永远不会说“yay”b/c编号必须同时小于0和大于10(a)您需要声明
num
,并且(b)您需要将指向num
的指针传递到scanf()
,而不是num
本身。你可能还可以用一篇介绍计算机科学的文章。你能想出一个既小于零又大于十的数字吗?@James,是的,我知道,谢谢你指出,我只是在这里写了一个随机程序。。所以错过了那些@walky,没有,但我正在寻找下面提到的解释,感谢您的回复,(a)您需要声明num
,以及(b)您需要将指向num
的指针传递到scanf()
,而不是num
本身。你可能还可以用一篇介绍计算机科学的文章。你能想出一个既小于零又大于十的数字吗?@James,是的,我知道,谢谢你指出,我只是在这里写了一个随机程序。。所以错过了那些@walky,没有,但是我正在寻找下面提到的解释,谢谢你的回复,谢谢你的信息,是的,我只是在这里输入了一个随机程序。。。谢谢谢谢你的信息,是的,我只是在这里输入了一个随机程序。。。谢谢