#include
#include
void main()
{
char num[5]={'\0'};
char * p=num;
char t;
int i,j;
p=num;
for(i=0;i<5;i++){
scanf("%c",&num[i]);
}
for(i=0;i<4;i++){
for(j=i+1;j<5;j++)
{
if( *(p+i)-*(p+j)>0 )
{
t=*(p+i);
*(p+i)=*(p+j);
*(p+j)=t;
}
}
}
for(i=0;i<5;i++)
printf("%c\n",p[i]);
}
你的程序明显是字符排序,不是字符串排序,但是程序用混用了字符串和字符的一些操作。
//改正了错误,去除多余的{}。
#include
#include
void main()
{
char num[5][64]; //指针数组
char (*p)[64];
char t[64];
int i,j;
p=num;
for(i=0;i<5;i++)
scanf("%s",num[i]);
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if( strcmp(*(p+i),*(p+j))>0 )
{
strcpy(t,*(p+i));
strcpy(*(p+i),*(p+j));
strcpy(*(p+j),t);
}
for(i=0;i<5;i++)
printf("%s\n",p[i]);
}
#include
#include
void main()
{
char num[50]={0}; //指针数组
char t;
int i,j,n;
scanf("%s",num);
n=strlen(num);
for(i=0;i
if( *(num+j)>*(num+j+1) )
{
t=*(num+j);
*(num+j)=*(num+j+1);
*(num+j+1)=t;
}
}
}
printf("%s\n",num);
}
char t[64];改为char t;
char num[5]={0}; 这是指针数组???
不懂