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

C/C++ Q/A
[937] [질문] %S에 대한 질문
오제호 [ohjeho] 1537 읽음    2002-08-02 10:37
아래와 같은 문자열이 있을때
  char *x="C++ Builder programing";
   printf("%p\n",*x);           
   printf("%p\n",x);
   printf("%c\n",*x);
   printf("%s\n",x);
   printf("%s\n",*x);         //error

결과값의 출력이 첫번째는 00000043('C'의 hexadecimal값)
두번째는 문자열의 처음 주소(004020a4)가 출력되었고
세번째는 C, 네번째는 문자열 전부가 출력되었습니다.

너무나 당연한 얘기겠죠?

제가 궁금한건 네번째,다섯번째의 차이입니다.
x는 문자열의 시작주소를 가리킵니다(여기서는 004020a4)
다섯번째 경우에 출력포맷을 string으로 했을때
해당되는 문자열의 첫번째 한문자를 출력하지 않고
error로 빠지게 되는 이유를 알고 싶습니다.
%c는 한문자 출력
%s는 문자열 출력이라는 문법의 심오한 뜻을 알고 싶군요.
왜 %s로는 한문자는 출력을 못할까요?
또한 네번째 경우는 문자열의 처음 가리키는 주소만 알면 문자열 전체를 출력하네요.

제가 너무 당연한 문법을 왜 그러냐고 묻고 있는 건가요?
고수님의 답변 부탁드립니다.





+ -

관련 글 리스트
937 [질문] %S에 대한 질문 오제호 1537 2002/08/02
943     Re:[질문] %S에 대한 질문 방태윤 1826 2002/08/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.