望高手改正 指教?
程序代码:#include<stdio.h>//把字符串按字典顺序输出
#include<stdlib.h>//不会报错就是交换失败
#include<string.h>
struct stu
{
char name[50];
}*p;
int shuru(struct stu *p);//输入字符串
void swap(struct stu *p,int i);//交换字符串
void shuchu(struct stu *p,int r);//输出字符串
int main(){
p=(struct stu*)calloc(4,sizeof(struct stu));
int r;
r=shuru(p);
printf("\n");
swap(p,r);
shuchu(p,r);
return 0;
}
int shuru(struct stu *p)
{int i;
for(i=0;i<3;)//输入三条字符串
{
scanf("%s",p++);
i++;
}
return i;
}
void swap(struct stu *p,int i)
{
int k,j;
char m[50]={0};
for(j=0;j<i;j++)
for(k=j;k<i;k++)//貌似交换错了啊
{
if(strcmp((p+j)->name,(p+k)->name)<0.5)
{
strcpy(m,(p+k)->name);
strcpy((p+k)->name,(p+j)->name);
strcpy((p+j)->name,m);
}
}
}
void shuchu(struct stu *p,int r)
{
int d;
for(d=0;d<r;d++)
{
printf("%s\n",(p+d)->name);
}
}










加油