不用string.h输入任意五个字符串并比较大小然后输出。我要崩溃了!!子函数检查过没有错误啊!!求助啊,快气死了啊!
#include<stdio.h>
#define pf printf
int strcmm(const char *str1,const char *str2)
{
for(;*str1==*str2;str1++,str2++)//
{
if(*str1=='\0')return 0;
}
if( *(unsigned char *)str1 > *(unsigned char *)str2 )
return 1;
else if( *(unsigned char *)str1 < *(unsigned char *)str2 )
return -1;
}
void strcpp(char *s1,char *s2)
{
int i,j;
for(i=0;s1[i]!='\0';i++);
for(j=0;s2[j]!='\0';j++)
s1[i++]=s2[j]; s1[i]='\0';
}
int main(void)
{
char a[5][20],t[20]="";
//char b[][10]={"gfreg","cdwegf"};
int i,j;
//strcpp(t,b[1]);//子函数无错
//puts(t);
// j=strcmm(t,b[0]);
// printf("%d",j);
for(i=0;i<5;i++)
gets(a[i]);//没错for(i=0;i<5;i++)
//for(j=0;j<1;j++)
//puts(a[3]); //scanf("%s",a[i][j]);huo zhe gets(a);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if( strcmm(a[j],a[j+1]) < 0 )
{
strcpp(t,a[j]);
strcpp(a[j],a[j+1]);
strcpp(a[j+1],t);
}
for(i=0;i<5;i++)
puts(a[i]);
}