안녕하세요 포인터 문제에 관한 질문 몇개 드립니다.
아론아브라함
안녕하세요
씨언어를 공부하는 대학생입니다.
난 정말 씨언어~ 포인터 공부하면서 나오는 문제 풀다가 이해가 안되는 문제 몇가지 질문드립니다.
1.이 문제는 홀수는 홀수대로 오름 차순 정렬,짝수는 짝수대로 오름 차순 정렬 시키는 문제 입니다.
예를 들어 3,2,1,4,6,8,7,5,3,4,5 로 저장되 있으면
정렬 후에는 1,3,3,5,5,7,2,4,4,6,8 로 출력되게 하는 것입니다.
제가 한 코딩은 아래와 같습니다. 궁금한 사항은
#include stdio.h
#pragma warning(disable:4996)
int AcdSort(int n1,int n2);
void Bubblesort(int *arr,int len,int (*Acd)(int ,int));
int main(void)
{
int arr[]={3,2,1,4,6,8,7,5,3,4,5};
int i;
Bubblesort(arr,sizeof(arr)/sizeof(int),AcdSort);
for(i=0; isizeof(arr)/sizeof(int); i++)
printf(%2d ,arr[i]);
printf(\n);
return 0;
}
int AcdSort(int n1,int n2)
{
if((n1%2)==0 && (n2%2)!=0)
return 1;
if((n1%2)!=0 && (n2%2)==0)
return 0;
if(n1n2)
return 1;
else
return 0;
} // 빨갛게 표시한 부분이 궁금한데요 조건문만 3개가 나오는데 리턴 값을 두개 이상 반환 하는 것이 가능한가 입니다.
void Bubblesort(int *arr,int len,int (*Acd)(int ,int))
{
int idx,jdx;
int temp;
for(idx=0; idxlen-1; idx++)
{
for(jdx=0; jdxlen-idx-1; jdx++)
{
if((Acd(arr[jdx],arr[jdx+1])))
{
temp=arr[jdx];
arr[jdx]=arr[jdx+1];
arr[jdx+1]=temp;
}
}
}
}
2.두 번째 질문은
퀵 소트 정렬에 관한 문제인데
int main(void)
{
char *strAry[4]={Hardware,Cookie,Boy,Power};
int i;
qsort((void *)strAry,sizeof(strAry)/sizeof(char *),sizeof(char*),AcdSort);
for(i=0; i4; i++)
printf(%s ,strAry[i]);
return 0;
}
int AcdSort(const void *p1, const void *p2)
{
char *s1=*(char **)p1;
char *s2=*(char **)p2; // 여기서 p1,p2앞에 포인터가 왜 붙는지 모르겠습니다.
고수님들의 가르침 부탁드립니다.^^
-
작약 2026-03-04
2번 질문 내용은요 이미 p1 p2가 문자열의 주소값을 가지고 있는 것 같은데
포인터 변수앞에 또 포인터를 붙이는게 무슨 뜻인가 하는 겁니다.?
포인터를 붙이면 문자열의 앞글자만 넣는거 아닌가요? -
크리에이터 2026-03-04
1번 질문에 대해서는...
조건문이 여러개라도 반환값은 1개입니다. 그 조건에 맞는 부분에서만 반환이 되기 때문이죠.
설사 조건이 맞는 게 여러개라도, 첫번째 만나는 조건에서 반환이 되기 때문에 하나입니다.
| 번호 | 제 목 | 글쓴이 | 날짜 |
|---|---|---|---|
| 2752085 | 문자열을 랜덤하게 출력해서 대체,삽입,삭제 횟수를 각가 표시하고 그걸 표 형태로 출력 | 슬아s | 2026-10-20 |
| 2752056 | 포인터 && 배열 질문요~ (2) | 해찬나래 | 2026-10-20 |
| 2752031 | x^n 구하는 코드 짜봤는데 값이 틀려요 ㅠㅠ | 세실 | 2026-10-20 |
| 2752000 | 나 정말 미치겠어요..ㅠㅜ (4) | 다이 | 2026-10-20 |
| 2751978 | 문자열 질문이요.. | 초시계 | 2026-10-19 |
| 2751945 | 숫자 맞추는 프로그램이요 ㅠㅠ (1) | 동은 | 2026-10-19 |
| 2751917 | C언어 이중 연결 관련 질문합니다. | 유우 | 2026-10-19 |
| 2751888 | return의 정확한 의미좀 알려주세요 (3) | 올해1살 | 2026-10-19 |
| 2751857 | 포인터 배열 (2) | 터큰 | 2026-10-18 |
| 2751831 | 연산자? 질문입니다 (2) | 진주 | 2026-10-18 |
| 2751800 | C언어 기초질문입니다.. (3) | 핫블랙 | 2026-10-18 |
| 2751739 | 파일 출력을 구조체로 받을 때, 파일의 끝을 판별하는 방법을 알려주세요. (2) | 얼 | 2026-10-17 |
| 2751715 | unresolved external symbol 에러... | 이룩 | 2026-10-17 |
| 2751686 | 변수 설정에 관한 질문입니다. | 꽃달 | 2026-10-17 |
| 2751655 | 자료구조 연습문제 | 한무릎 | 2026-10-17 |
| 2751631 | gets 함수 질문이요. (4) | 해늘 | 2026-10-16 |
| 2751553 | 퀵정렬 소스인데 주석좀 달아주세요 (1) | 싴흐한세여니 | 2026-10-16 |
| 2751528 | 저기 이거하는법좀 질문.. (2) | 가람슬기 | 2026-10-15 |
| 2751445 | 도저히 풀 수가 없네요.... (2) | 신당 | 2026-10-15 |
| 2751412 | 어제부터 계속 해도.........안되는.... (1) | 족장 | 2026-10-14 |
