帮我看看这个C程序哪里错了

来源:百度知道 编辑:UC知道 时间:2024/05/07 11:04:18
#include "stdio.h"
void main()
{
char name[5],temp;
int i;
printf("请输入5个字符串\n");
for(i=0;i<5;i++) //使用循环语句
scanf("%s ",&name[i]); //输入5个字符串
for(i=0;i<5;i++)
{ if(strcmp(name[i],name[i+1])>0) //比较字符串
{temp=name[i];name[i]=name[i+1];name[i+1]=temp;}
} //交换字符串
printf("排序后的结果是:\n");
for(i=0;i<5;i++)
printf("%s ",name[i]);
}

#include "stdio.h"
#include <string.h>
int main()
{
char *name[5],*temp;
int i;
printf("请输入5个字符串\n");
for(i=0;i<5;i++) //使用循环语句
scanf("%s",name[i]); //输入5个字符串
for(i=0;i<5;i++)
{ if(strcmp(name[i],name[i+1])>0) //比较字符串
{
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
}

} //交换字符串
printf("排序后的结果是:\n");
for(i=0;i<5;i++)
printf("%s ",name[i]);
}
要用字符的指针数组,应该是char *name[5],*temp;

然后temp=name[i];name[i]=name[i+1];name[i+1]=temp;}
第一个分号应该是";",不是";"

char name[5]这是定义了一个字符数组,不是5个,for(i=0;i<5;i++)
{ if(strcmp(name[i],name[i+1])>0) //比较字符串
{
temp=name[i];