Naver Perl Community & Study Cafe


2010.08.04 01:48

C언어 문제



간단한 C언어 문제를 한번 풀어보세요 ~


1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main(void){
   int A[]={10,20,30,40,50,60,70};
   double *dp = (double *)A;

   (*dp)++;
  
   printf("%d \n",*dp);

   return 0;
}

위의 예제는 A라는 정수형 배열과 dp 라는 더블형 포인터 변수가 있습니다.

더블형 포인터 변수에 A배열을 연결 한 뒤

dp의 주소 값으로 접근하여 1을 더하려고 합니다.

정확히 10에 접근하여 1을 더한 11이라는 값을 출력하고 싶습니다.


(*dp)++;

하지만 위의 코드는 원하는 값이 나오지 않는데

이 코드는 왜 11이 되지 않으며, 

이것을 해결하려면 어떻게 코드를 짜야 하는지

댓글 한번 달아주세요~ :)


풀이는 하루 뒤에 하겠습니다~


신고
Trackback 0 Comment 2