[求助]一个简单的if问题请教大家一下
请问if(1<=a<=10)是不是等价于if(1<=a||a<=10),还是等价于其他的形式?谢谢`` 搜索更多相关的解决方案:
其他
----------------解决方案--------------------------------------------------------
可以
----------------解决方案--------------------------------------------------------
应该是if(1<=a&&a<=10) 才对
----------------解决方案--------------------------------------------------------
if(1<=a<=10)if(1<=a||a<=10)
这2个是永真,所以可以!
if(1<=a&&a<=10) 却不一样
----------------解决方案--------------------------------------------------------
以下是引用超级新手在2006-2-12 15:02:00的发言:
if(1<=a<=10)if(1<=a||a<=10)
这2个是永真,所以可以!
if(1<=a&&a<=10) 却不一样
if(1<=a<=10)if(1<=a||a<=10)
这2个是永真,所以可以!
if(1<=a&&a<=10) 却不一样
错了,反过来了.
i<a&&a<=10 二个表达式都是真,值才可以是1 ,否则为0
|| 只要有一个是真, 值就是1
----------------解决方案--------------------------------------------------------
你的理解错了。
----------------解决方案--------------------------------------------------------
^_^ 晕....
你用TC编一下就知道了...
----------------解决方案--------------------------------------------------------
逻辑运算 遵循短路法则
即 A||B 左边表达式为真,他不继续下去,整个表达式为真
就1<=a||a<=10,如果左边为T,整式为T,如果左为F,但右边肯定为T,所以永真!
1<=a&&a<=100
也是短路,左边为F,即不进行右边运算,整式为F,不是永真!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
main ()
{
int a=15,b;
if (0<=a||a<=10==1)
b=100;
else b=200;
printf ("%d",b);
}
----------------解决方案--------------------------------------------------------
#include "stdio.h"
main ()
{
int a=15,b;
if (0<=a&&a<=10==1)
b=100;
else b=200;
printf ("%d",b);
}
^_^ 你研究一下吧...
----------------解决方案--------------------------------------------------------