当前位置: 代码迷 >> C语言 >> [求助]究竟 if 里面有没有双与和单与之分
  详细解决方案

[求助]究竟 if 里面有没有双与和单与之分

热度:351   发布时间:2006-08-27 22:32:23.0
<==>等价号
----------------解决方案--------------------------------------------------------
学习呢!!我刚学C半个月,需要多学习学习

----------------解决方案--------------------------------------------------------
单与是先判断前面的条件,如果前面为真则判断后面。而双与则可以只判断前面的条件就可以

..... 你一定是走错教师看错老师听错课了~

----------------解决方案--------------------------------------------------------
我是不是给楼主讲得跑题了?晕.
----------------解决方案--------------------------------------------------------
那么i==1&&j==2<==>i==1&j==2
就是1&&2等价于1&2
1等价于2
输出0条件为假


----------------解决方案--------------------------------------------------------
以下是引用神vLinux飘飘在2006-8-27 22:34:15的发言:
单与是先判断前面的条件,如果前面为真则判断后面。而双与则可以只判断前面的条件就可以

..... 你一定是走错教师看错老师听错课了~

我是真的没走错教师,没认错老师,没听错课。(难不成带错耳朵了)

现在我更糊涂了!!
----------------解决方案--------------------------------------------------------

提示: 作者被禁止或删除 内容自动屏蔽

2006-08-27 14:41:55
神vLinux飘飘

等 级:贵宾
威 望:87
帖 子:6111
专家分:49
注 册:2004-7-17
  得分:0 
或者你再去问问老师?如果是我们都错了,if语句中真的有 &和&&之分,那么我们给你加精。毕竟没人知道~

----------------解决方案--------------------------------------------------------

#include<stdio.h>
void main()
{

int a=9,b=5,c;

c=a&b;

printf("a=%d\nb=%d\nc=%d\n",a,b,c);

}
这个输出的结果
如果将a赋值为0,将&改为||
看看什么结果


----------------解决方案--------------------------------------------------------

#include "stdio.h"
void main()


{

int a=0,b=5,c;

c=a||b;

printf("a=%d\nb=%d\nc=%d\n",a,b,c);

}
a=0,b=5,c=1 (先判断前面a为零,然后判断后面b,最后值为1)

红色部分改成
c=a|b;

a=0,b=5,c=5 (前面的为零,然后判断后面的,最后值为5)


----------------解决方案--------------------------------------------------------
  相关解决方案