목록C (2)
동글동글 라이프
어제 C언어에 관련된 문제를 하나 내었는데 댓글로 답을 풀어주시기보다 트위터나 네이트온 쪽지로 더 답을 많이 주셨습니다. 1 2 3 4 5 6 7 8 9 10 11 #include int main(void){ int A[]={10,20,30,40,50,60,70}; double *dp = (double *)A; (*dp)++; printf("%d \n",*dp); return 0; } 제가 원했던 답은 빨간색으로 표시된 (*dp)++ 만 수정하여 답을 11이 되도록 바꾸는 것이 었는데 많은 분들이 소스 전체를 바꾸셔서 답을 주시더군요 ^^;; - 풀이 dp 는 더블형 포인터 입니다. 그렇기에 *dp 는 더블형으로 접근한 값을 1을 증가해 줘야 하는데 접근 한 값은 정수기 때문에 데이터 형에 맞지 않게 1..
간단한 C언어 문제를 한번 풀어보세요 ~ 1 2 3 4 5 6 7 8 9 10 11 #include 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이 되지 않으며, 이것을 해결하려면 어떻게 코드를 짜야 하는지 댓글 한번 달아주세요..