当前位置: 代码迷 >> C语言 >> [求助]&&和||的问题
  详细解决方案

[求助]&&和||的问题

热度:322   发布时间:2007-02-08 21:42:36.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,不能理解?


----------------解决方案--------------------------------------------------------
``````````
----------------解决方案--------------------------------------------------------
有人能帮忙解释下吗

谢谢
----------------解决方案--------------------------------------------------------
以下是引用cdmalcl在2007-2-8 16:03:39的发言:

(A||B)||C ----->D||C D代表A||B
A || B && C 也如此

的确是我错了
&& 的优先级的确比||高
A || B && C应该是这么算的:
A ||( B && C)
也就是说:
x=y=z=2; ++x || ++y && ++z; PR(x,y,z);
等价于++x || (++y && ++z);
所以就是说 程序先运行++x 因为++x为非0 所以就不运行++y && ++z了

学习了


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