단어를 알파벳순서로 정렬하는 건데
코드는 이렇고요.
#include <stdio.h>
#include <string.h>
#define n 3 //단어 수
void sort_strings(char *s[],int size);
void main()
{
int i;
char *list[n]={"mycopy","src","dst"};
sort_strings(list,n);
for(i=0;i<n;i++)
printf("%s\n",list[i]);
}
void sort_strings(char *s[],int size)
{
int i,j;
char temp[20],least[20];
for(i=0;i<n-1;i++){
strcpy(least,s[i]);
for(j=i+1;j<n;j++)
if(strcmp(s[j],least)>0)
strcpy(least,s[j]);
strcpy(temp,s[i]);
strcpy(s[i],least); <-
strcpy(least,temp);
}
}
질문1 포인터로 선언된 문자열은 그 내용을 수정할 수 없는 것으로 알고있습니다.
위에 코드처럼 하면 빨간색 부분에서 에러가 나는것 같은데
그렇다면 포인터 배열을 이용하면서 정렬하는 다른방법은 없나요?
질문2 보라색부분이 함수를 참조하는 부분인데 참조가 잘못된거같습니다;
sort_strings(list,n), sort_strings(&list,n) 둘다 에러가 뜨던데.. 댓글좀 부탁드리겟습니다..