当前位置: 代码迷 >> C语言 >> [求助]一个简单的if问题请教大家一下
  详细解决方案

[求助]一个简单的if问题请教大家一下

热度:23   发布时间:2006-02-12 14:50:00.0
[求助]一个简单的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) 却不一样

错了,反过来了.

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);
}

^_^ 你研究一下吧...
----------------解决方案--------------------------------------------------------
  相关解决方案