冒泡法排序。。排完数据都没了~~
for(i=1;i<(fileh+1);(i=i+1)){
for(j=i+1;j<(fileh+1);(j=j+1))
{
printf(" %d ",i);
ag=strcmp(CO[i],CO[j]);
if (ag>0)
{
printf("str1大于str2的ascii码\n");
TP=CO[i];
sleep(50);
memset(CO[i],0,strmaxl);
strcat(CO[i],CO[j]);
memset(CO[j],0,strmaxl);
strcat(CO[j],TP);
memset(TP,0,strmaxl);
/* TP=CO[i];
CO[i]=CO[j];
CO[j]=TP;*/ //用这个会提示左边的值别绪是左值。。不知道啥原因
} else if(ag<0)
{
printf("str1小于str2的ascii码\n");
} else if(ag==0)
{
printf("两个字符串相等\n");
}
}
}
for (i=1;i<(fileh+1);i++)
{
printf("#%d ######:%s \n",i,CO[i]);
}
getchar();
排完后输出:
#1 ######:
#2 ######:
#3 ######:
#4 ######:
#5 ######:
#6 ######:
#7 ######:
#8 ######:
#9 ######:
#10 ######:
#11 ######:
#12 ######:
#13 ######:
#14 ######:
#15 ######:
#16 ######:
#17 ######:
#18 ######:
#19 ######:
#20 ######:
#21 ######:
#22 ######:
#23 ######:
#24 ######:
#25 ######:
#26 ######:
#27 ######:
#28 ######:
#29 ######:
#30 ######:
#31 ######:
#32 ######:
#33 ######:
#34 ######:
#35 ######:
#36 ######:
#37 ######:
#38 ######:
#39 ######:
#40 ######:
#41 ######:
#42 ######:
#43 ######:
#44 ######:
#45 ######:
#46 ######:
#47 ######:
#48 ######:
#49 ######:
.................
为什么会这样?求解决方法!!