반응형
문자열을 가리키고 있는 포인터의 배열을 인수로 받아서 문자열을 알파벳 순으로 정렬시키는 함수 sort_strings()를 작성하고 테스트하여 보라. 다음과 같은 원형을 가진다.
진짜 오래걸렸네요.. 괄호 안쳐서 2시간동안 해맸네요 짜증... ㅜ,ㅜ
각 포인터가 배열이니까 첫글자만 비교해서 서로 교환해주면 됩니다.. (교환하기 위해선 빈 물 컵이 있어야 한다는 것.. 잊지 않으셨죠??)
string[0] 은 포인터 string 은 이중포인터 tmp는 포인터 .. 점점 더 헷갈리는 느낌입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <stdio.h> #define SIZE 3 void sort_strings(char *s[], int size); int main(void) { char *string[SIZE]={"mycopy","src","dst"}; int i; sort_strings(string,SIZE); for(i=0;i<SIZE;i++) { printf("%d번째 문자열 : %s\n", i, string[i]); } return 0; } void sort_strings(char *s[], int size) { int i, j; char *tmp=NULL; for(i=0;i<size;i++){ for(j=i+1;j<size;j++) { if(*s[i]>*s[j]) {tmp=s[i]; s[i]=s[j]; s[j]=tmp;} }} } | cs |
반응형
'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글
디지털 영상 (0) | 2017.01.06 |
---|---|
학생 성적 평균 구하기 (0) | 2017.01.06 |
가장 큰 값 (0) | 2017.01.05 |
문자열의 배열 출력 (0) | 2017.01.05 |
2차원 배열 합 (0) | 2017.01.04 |