当前位置:编程学习 > C/C++ >>

C语言我这个程序到底错在哪里???

#include <stdio.h> main() { char a[]="dddd",b[]="caad",c[]="cbbc",d[]="aaaa"; char *p[4]={&a[0],&b[0],&c[0],&d[0]},*t; int k=0,on; for(int i=0;i<3;i++) for(int j=i;j<4;j++) { while(*p[i]==*p[j]) { on=1; p[i]++,p[j]++,k++; if(*p[i]!=*p[j]) break; } if(*p[i]>*p[j]) { t=p[i]; p[i]=p[j]; p[j]=t; } while(on) { p[i]--,p[j]--,k--; if(k=0) break; } } for(i=0;i<4;i++) puts(p[i]); 我知道错误就在 while(*p[i]==*p[j]) { on=1; p[i]++,p[j]++,k++; if(*p[i]!=*p[j]) break; } 这里,但不知道为什么
补充:这是个字符串排序的程序,我没用strcmp
追问:能详细点么??
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,