哦,理解点了,谢谢
哦,理解点了,谢谢
能不能再帮我解答下这个啊!!!
#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,不能理解?
(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了
学习了