标题:[求助]&&和||的问题
取消只看楼主
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
 问题点数:0 回复次数:5 
[求助]&&和||的问题



#include <stdio.h>
#define PR(x,y,z) printf("x=%d y=%d z=%d\n",x,y,z);
void main()
{
int x,y,z;
x=y=z=2; ++x || ++y && ++z; PR(x,y,z);

x=y=z=2; ++x && ++y || ++z; PR(x,y,z);

x=y=z=-2; ++x || ++y && ++z; PR(x,y,z);

x=y=z=-2; ++x && ++y || ++z; PR(x,y,z);
}


请高手解答下,谢谢

搜索更多相关主题的帖子: void include 
2007-02-08 14:07
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 

哦,谢谢解答

那如果A||B||C ,这样的应该怎么执行?

A || B && C 应该执行哪个

2007-02-08 16:01
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 
x=y=z=2; ++x || ++y && ++z; PR(x,y,z);

那如果那这句来解释:
++x || ++y && ++z

先是 (++x || ++y) && ++z
++x || ++y 的话,++x是2,不为0,所以执行++x,x等于3
然后在怎么计算啊,我就不清楚了???
2007-02-08 17:50
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 

哦,理解点了,谢谢

2007-02-08 21:42
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 

能不能再帮我解答下这个啊!!!
#include <stdio.h>
main()
{
int i, j, temp,item[5]={23,12,55,98,43};
for (i=1;i<5;i++;)        
{               
temp=item[i];         
j=i-1;             
while (j>=0 && temp<item[j])   
{               
item[j+1]=item[j];       
j--;             
}               
item[j+1]=temp;         
}
for (i=0;i<5;i++)
printf(" %d",item[i]);
}
1)就是理解不了,前面是循环把大的数字移向后面,item[j+1]=item[j];是把第j个元素赋值给后面有个,那j自己仍然去原值吗?

2)item[4]=45,这个数,是怎么移向前面去的?

3)为什么,最后有个item[j+1]=temp,不能理解?

2007-02-08 22:48
lhj2005
Rank: 1
等 级:新手上路
帖 子:230
专家分:0
注 册:2007-1-23
得分:0 
有人能帮忙解释下吗

谢谢
2007-02-09 13:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-120209-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.093282 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved