C언어를 독파하자 - 포인터의 이해
문제1] 다음 프로그램 실행 시 포인터와 변수와의 관계를 나름대로 그림을 그려서 설명해 보자 답 #include int main(void) { int n=10; int* p1=&n; int* p2=p1; printf("%d \n",(*p1)++); //*p1++에서 *를 빼고 하면 주소값 출력 printf("%d \n",(*p2)++); printf("%d \n",n); return 0; } 결과 문제2] char형 변수 a, int 변수 b, double 변수 d, 이렇게 총 4개의 변수를 선언하자 ( 초기값 임의대로) 그 다음 포인트 p1,p2,p3,p4를 이용해서 a,b,c,d의 값을 1씩 증가시킨다. 즉 간접접근방식에 의해서 값을 하나 증가시키라는 뜻이다. 답 #include int main(vo..
더보기
C언어를 독파하자 - 함수
문제1] 세 개의 정수를 입력 받아서 그 중 가장 큰 수를 반환하는 함수와 가장 작은 수를 반환하는 함수를 만들어 보자. 그리고 이 함수들을 이용하는 적절한 main 함수도 구현해 보자. 답 #include int max(int a, int b, int c); int main(void) { int a,b,c; scanf("%d %d %d",&a,&b,&c); printf("가장 큰 수는 %d 입니다.\n",max(a,b,c)); printf("가장 작은 수는 %d 입니다.\n", min(a,b,c)); return 0; } int max(int a, int b, int c) { if(a > b) return (a>c) ? a : c; else return (b>c) ? b : c; } int min(in..
더보기
C언어를 독파하자 - 상수와 기본자료형
문제1] 사용자로부터 직사각형의 위치 정보를 입력받아 넓이를 계산하는 프로그램을 작성해보자. 입력받아야 할 직사각형의 위치 정보는 두 개의 X,Y좌표(총 4개의 정수)가 되어야 할 것이다. 단 조건이 있다. 첫번째 입력되는 포인트 정보는 직사각형의 좌 상단 좌표이고, 두번째 입력되는 포인트 정보는 우 하단 좌표가 되어야 한다. 또한 좌 상단 좌표의 X,Y값은 우 하단 좌표의 X,Y값보다 작다고 가정한다. 이 조건을 어길 시 출력 결과는 음수가 될 수도 있다. 다음에 제시되는 실행의 예를 참고하기 바란다. 실행의 예: 첫번째 포인트의 X,Y 좌표 : 2 2 두번째 포인트의 X,Y 좌표 : 4 4 넓이 : 4 답 #include int main(void) { int a,b,c,d,na; printf("첫번째..
더보기