소 감 ¶
코 드 ¶
~cpp 
#include <stdio.h>
int search_middleNum(int *, int *, int *);
void changeXY(int *, int *);
void main()
{
	int a, b, c, middleNum;
	while(1){
		printf("멈추려면 '-999 0 0' 입력\n");
		printf("비교할 A, B, C 값을 차례로 입력 : ");
		scanf("%d %d %d", &a, &b, &c);
		if(a == -999){
			break;
		}
		middleNum = search_middleNum(&a, &b, &c);
		printf("중위수 = %d", middleNum);
	}
}
int search_middleNum(int *a, int *b, int *c)
{
	int middle;
	if(*a >= *b){changeXY(a, b);};
	if(*a >= *c){changeXY(a, c);};
	if(*b >= *c){changeXY(b, c);};
	middle = *b;
	return middle;
}
void changeXY(int *x, int *y)
{
	int temp;
	temp = *x;
	*x = *y;
	*y = temp;
}
변수테이블 ¶
내가만든 이 프로그램에서 변수 테이블을 만들어 보면. 
| 과정 | a | b | c | 
| . | 45 | 14 | 38 | 
| if(*a >= *b){changeXY(a, b);} | 14 | 45 | 38 | 
| if(*a >= *c){changeXY(a, c);} | 14 | 45 | 38 | 
| if(*b >= *c){changeXY(b, c);} | 14 | 38 | 45 | 
중간수 *b를 출력한다.
나한테 할 말 ¶
음..
A
B
그리고 int search_middleNum(int *a, int *b, int *c) 이함수는 구지 포인터로 값을 넘겨받을 필요는 없지 않나..
그냥 넘겨 받아도 문제는 없을 것 같은데..ㅎㅎㅎ 짜기 편하자너..ㅎㅎ 문제도 줄고..^^
음.. 뭐 단순한 내생각이니 특별히 신경쓰지 말라고~ 집에서 할일없어서 하는 소리니..^^ - 조현태
A
~cpp 
		middleNum = search_middleNum(&a, &b, &c);
		printf("중위수 = %d", middleNum);
여기를 B
~cpp 
                  printf("중위수 = %d", search_middleNum(&a, &b, &c));
이렇게 바꾸는게 변수도 안낭비하고 좋을 듯 한데..^^그리고 int search_middleNum(int *a, int *b, int *c) 이함수는 구지 포인터로 값을 넘겨받을 필요는 없지 않나..
그냥 넘겨 받아도 문제는 없을 것 같은데..ㅎㅎㅎ 짜기 편하자너..ㅎㅎ 문제도 줄고..^^
음.. 뭐 단순한 내생각이니 특별히 신경쓰지 말라고~ 집에서 할일없어서 하는 소리니..^^ - 조현태
짜식 내 코드에 관심이 많아 ㅋㅋㅋㅋ 내 코드 좋아해? 아님 싫어하는건가?^^ ㅠㅠ -허아영
두 친구가 젤 활발하군요. A 코드를 B로 바꾸면 중간 변수의 메모리도 낭비되지 않고, 좀더 최적화에 다가간 코드가 됩니다. 하지만 A를 B로 바꾸면 가독성이 떨어집니다. 상황에 따라 다르겠지만 running time에 별 차이가 없다라고 본다면, 저라면 가독성을 택할 것 같습니다. -- 보창어떻게 할까 했는데 걍 소트 하믄 되는구나 ㄱ-;;;; 괜히 고민했었다;; - 태훈













