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

C/C++ Q/A
[2725] Re:putchar('1')
임문환.실업자 [] 1397 읽음    2003-05-28 23:44
kevin 님이 쓰신 글 :
: #include<stdio.h> 
:
: int main(void) 
: { 
:    for (putchar('1'); putchar('2'); putchar('3'))
:    putchar('4');

:    return 0; 
: } 
:
: 얘기 무슨 뜻인가요?
: for문은 첫번째 항에 초기값 ; 조건 이 나오는데...첫번째 항을 항상 1이라 해도..
:
: 조건문이 2??
:
: 설명 부탁드립니다.

for(A ; B ;C)
{
D;
}
for 문이 위와 같을 때 수행 순서는
AB
DCB
DCB
DCB
물론 B의 결과가 0(false)이면 for문을 그만 돕니다.


A,C에는 어떤 식이든(함수 호출 포함) 가능합니다.
B에는 bool로 형변환 가능한 모든 식과 bool로 형변환 가능한 결과를 반환하는 함수호출이 가능합니다(또는 아예 생략 가능).


참고로, 수에서 0이 false고 나머지는 true입니다.


마지막으로, 님이 제시한 코드를 보면,

for (putchar('1'); putchar('2'); putchar('3'))
putchar('4');

putchar(ch)는 오류가 없다면 ch를 반환합니다.
따라서,각 구역의 결과는 A='1', B='2' , C='3' 입니다.

putchar('1'); =>  1 출력
putchar('2'); =>  2 출력 //'2'는 true에 해당하므로 계속

putchar('4'); =>  4 출력
putchar('3'); =>  3 출력
putchar('2'); =>  2 출력 //'2'는 true에 해당하므로 계속

putchar('4'); =>  4 출력
putchar('3'); =>  3 출력
putchar('2'); =>  2 출력 //'2'는 true에 해당하므로 계속

putchar('4'); =>  4 출력
putchar('3'); =>  3 출력
putchar('2'); =>  2 출력 //'2'는 true에 해당하므로 계속

putchar('4'); =>  4 출력
putchar('3'); =>  3 출력
putchar('2'); =>  2 출력 //'2'는 true에 해당하므로 계속

putchar('4'); =>  4 출력
putchar('3'); =>  3 출력
putchar('2'); =>  2 출력 //'2'는 true에 해당하므로 계속
.
.
.
끝없이 계속


+ -

관련 글 리스트
2723 putchar('1') kevin 1312 2003/05/28
2725     Re:putchar('1') 임문환.실업자 1397 2003/05/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.