我在Dev C上测试样例数据,结果没问题。但在平台上测试全部提示段错误。是哪里出错了?
另外,我不会把排序写成函数。请问应该怎样定义和调用参数?
题目:
代码:
#include<stdio.h>
#include<string.h>
void swap(char *s1, char *s2);
int main()
{
char s[5][81];
int i;
for(i=0;i<5;i++)
scanf("%s",s[i]);
int finish=5,index=5;
while(finish>1)
{
for(i=0;i+1<finish;i++)
{
if(strcmp(s[i],s[i+1])>0)
{
swap(s[i],s[i+1]);
index=i+1;
}
}
if(index<finish) finish=index;
else finish=0;
}
printf("After sorted:\n");
for(i=0;i<5;i++)
printf("%s\n",s[i]);
return 0;
}
void swap(char *s1, char *s2)
{
char *temp;
strcpy(temp,s1);
strcpy(s1,s2);
strcpy(s2,temp);
}