字符串排序引出的问题
sort(char *p[]){
int i,j;
char *temp;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(strcmp(*(p+j),*(p+j+1))>0)
{temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
我的理解是I=0时: *p 和*(p+1)比较
*(p+1)和*(p+2)比较
。。。
*(p+7)和*(p+8)比较
I=1时: *p 和*(p+1)比较
*(p+1)和*(p+2)比较
。。。
*(p+6)和*(p+7)比较
。。。。。。。。。。
可是又不对,感觉中间重复比较了。不知道哪里理解错了
很郁闷啊,哪位大哥大姐帮解释下啊(主要是两个FOR的关系搞不懂)