Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[1545] Re:Re:[질문] 다시...요...죄송
라딘 [] 1363 읽음    2002-11-14 16:18
laSuna 님이 쓰신 글 :
: #include<stdio.h> 
:
: char *ptrc[]={"KOREA","CANADA","UNITED STATES OF AMERICA","FRANCE"}; 
: char **st[]={ptrc+3,ptrc+2,ptrc+1,ptrc}; 
: char ***stt=st; 
:
: void main() 
: { 
:     printf("%s\n",**++stt); 
:     printf("%s\n",*--*++stt+2); 
:     printf("%s\n",*stt[-2]+3); 
:     printf("%s\n",stt[-1][-2]+1); 
: } 
:
: 위에꺼 돌려보면 
:
: united states of america  
: rea 
: nce 
: orea 

: -- 아마도 리포트인가봐요?
: 저두 학교 다닐 때 비슷한 문제로 골머리 썩은 적이 있는데... 나쁜 조교형들...
: 연구는 안허구 맨날 이상한거만 생각한다 했더니 요즘도 이런 분들이 있네용....
:
: 말씀드리기 전에 님의 프로그램은 컴파일러에 따라 결과가 다르게 나올 수도 있습니다.
: 포인터와 연산자를 어떻게 처리하느냐의 문제이니까요
: 그리고 제가 생각하기에는 배열과 포인터의 문제라서 복잡해보이는데
: 우선 연산자는 오른쪽에서 왼쪽으로 읽어가시면 되구요 배열은 포인터로 변환해보시면
: 답이 나올것 같습니다.
:
: **++stt : **(stt + 1) -> **(st + 1) -> *(ptrc+2) -> united states of america
: *--*++stt+2 : *(--*(++(st + 1))) + 2 -> *(--*(ptrc+1)) + 2
:                -> *(--("canada")) + 2 -> *("korea") + 2 -> rea
: *stt[-2]+3 : **(stt - 2) + 3 -> *(ptrc + 3) + 3 -> *("france") + 3 -> nce
: stt[-1][-2]+1 : *(*(stt-1)-2) + 1 -> *(ptrc+2-2) + 1 -> *("korea") + 1 -> orea
:
: 잘 읽어보시면 아시겠죠? stt의 위치가 계속 변경되는 것을 착안해서 읽어보세요
: 처음 두개는 stt가 하나씩 증가합니다. 그리고 세째, 네째 것은 stt가 변화하지 않습니다.
:
: 이해되셨으면 좋겠네요^^

----------

3번째꺼에서요... 그러니깐 1 에서 st +1 2에서 st +2 3번에서
**(stt-2)+3 에서 어떻게 *(ptrc+3)+3 이 나오죠? stt 가 st+2 이깐대입해서 그런가요...
그러면 **(st+2 -2 )+3 이 되고 **(st)+3 이 되서 *(ptrc+3)+3  이 나오는것이면요

여기서 st가 0 그러니깐 st +0 가 되는 것인가요? st가 st+2 가 아니라면...
4번 문제가 않풀리는것 같아서요...3번에서 st가 0 가 되면

*(*(stt-1)-2)+1 에서 *(*(st +0 -1 )-2)+1 이 되는거 아닌가요?
죄송해요...--;.. 다시 알려주시면...

+ -

관련 글 리스트
1527 [질문] 포인터 printf 쪽만... T.T 라딘 1757 2002/11/11
1533     Re: 고마워요 T.T 생각한거랑 --; 완전... 달랐어요 T.T 라딘 1370 2002/11/12
1532     Re:[질문] 포인터 printf 쪽만... T.T laSuna 1456 2002/11/12
1545         Re:Re:[질문] 다시...요...죄송 라딘 1363 2002/11/14
1555             Re:Re:Re:[질문] 다시...요...죄송 laSuna 1449 2002/11/15
1570                 Re: 그렇쿤요... 고맙습니다. 라딘 1362 2002/11/15
1531     어렵네요. 이영우 1454 2002/11/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.