for문 없이 별찍기
2009/09/18 14:51
// for 문 없이 다이아 몬드 만들기
#include <stdio.h>
#include <setjmp.h>
int main( void )
{
int i = 0, j = 0;
jmp_buf buf;
setjmp(buf);
printf( "%s", i>=8 ? j<i-8?" ":"* "
: j<8-i?" ":"* " );
i = ( ++j == 8 )?( j = 0, printf( "\n" ), ++i):i;
if( i != 16 ) longjmp(buf,0);
return 0;
}
굉장히 변태적인 방법.codepad에서는 잘 안돌아가는듯. 직접 컴파일해야됨.


정말 변태같은 코드네요^^
예, 그렇습니다.
만들게 된 이유도 꼬꼬마들 숙제용으로 이대로 제출하고 F맞아라 라는 의미였으니 변태적일 수 밖에요.
한 function내에서 setjmp를 쓰다니요.. 불결합니다.
goto짱도 할 수 있다구여!
함수를 넘나들게 작성해주세요.! -_-
그렇게 짜면 꼬꼬마들이 레포트 제출용으로 부적합하다고 생각할거임 ㄲ
setjmp 는 위대한듯. C의 exception 처리라니 ㅋ