게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 포인터배열 질문입니다.
게시물ID : computer_124916짧은주소 복사하기
작성자 : 모치초코
추천 : 0
조회수 : 617회
댓글수 : 2개
등록시간 : 2013/11/05 19:54:58
단어를 알파벳순서로 정렬하는 건데
코드는 이렇고요.
 
#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) 둘다 에러가 뜨던데.. 댓글좀 부탁드리겟습니다..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호