Please enable JavaScript in your browser to load website properly.

Click here if you'd like to learn how.

c언어 반복문 질문좀 [11]

중사 Nigro | 14-02-03 22:24:43 | 조회 : 1243 | 추천 : -


#include <stdio.h>
int main(void)
{
int a, b;
for(a=0; a<5; a++)
 {
  for(b=0; b<a; b++) 
 
  printf(" ");
  {
 
  
  for(; b<7-a; b++)  
   printf("*");
  }

      printf("Wn");        << 이건 엔터위에 그게 안나와서 이렇게 적음
 
 }
 return 0;
}



이거 결과값이
*******
  *****
    ***
      *       이렇게 나오는데 처음부터 도저히 이해가 안가는데 혹시 아는 형들 있으면 좀 도와줘

SNS로 공유하기
  • 이병 큰나래12년 전 | 신고

    졸라 이상한 구문이내
  • 중사 Nigro12년 전 | 신고

    @큰나래책 연습문제로 나온건데 
    정답이라고 올라온걸 다운받은 코드가 저건데
    뭔지 알겠어? 이해가 안가네
  • 준장 이유진12년 전 | 신고

    저게 에러없이 돌아감?
  • 중사 Nigro12년 전 | 신고

    @이유진결과값 정상적으로 나와
  • 이병 큰나래12년 전 | 신고

    아 알긋다
  • 이병 큰나래12년 전 | 신고

    for구문이 값, 조건, 반복값이엿나. 대충 이해는 가는데 for구문에서 저거 빈값으로 둬도되나 
  • 중사 Nigro12년 전 | 신고

    @큰나래for(; b<7-a; b++) 여기 말하는건가?
    여기면은 for(; ; ;)이렇게도 가능해
  • 이병 큰나래12년 전 | 신고

    @Nigro저렇게 나오는게 맞는데 머가 이해안되는거
  • 중사 Nigro12년 전 | 신고

    @큰나래이게 내가 작성한게 아니고 답을 본건데
    int a,b; 이 밑으로 정확히 해석을 못하겠어
  • 이병 큰나래12년 전 | 신고

    @Nigroa는 행값 b는 별의 숫자
    첨에. ab 둘다 0이기때문에 두번째 for구문은 실행이 안됨 그럼 세번째 for로와서. 0<7-0이기때문에 b가 7이 될때까지 ★을 출력
    근데 뭔가이상하내 7<7이되면 별 출력이 안되는게 맞지않나 플밍 손땐지 오래되서 헷갈린다
  • 중령 RichGolD12년 전 | 신고

    C,C++공부했고 VC++공부하는사람으로서 답변해줄게
    for(초기값;조건;증감) 이렇게 되는데 지금은 이중포문구문이야.. 일단 첫번째 a=0부터 돌아간다고 생각해보자   for문이 돌아가면서 for(b=0; b<a; b++)  이구문이 돌아갈것처럼보이지만 첫줄에는 돌아가지않아 조건이 맞지않기때문이지 b=0,a=0이기때문이지 조건이안맞기 때문에 이for문을 건너뛰고 그다음 이중for문 for(; b<7-a; b++) 이거를 출력하게대.. a=0,b=0상태기때문에 조건성립하지? 그래서 이for문에 걸려서 b값이 7까지 돌아가면서 *가 출력되는거지 그리고 이for문에서 b값이 8로 대버리면 조건성립이 안하고 이 for문을 탈출하겠지 탈출함과 동시에 printf("n")을 만나서 줄바꿈을하는거고 a++가되서 a=1이되서 다시처음부터 되는거지 a가 1이됬으니   for(b=0; b<a; b++)이구문을 만나면 조건성립이되서 공백을 출력하게되는거고..

    어.. 주저리주저리썻는데 이해될려나 모르겠네 근데 저구문은아무래도 {}괄호가 잘못된거같은데..더궁금하면 메일 rhwowns4@hanmail.net 으로 보내줘
< 1 2 3 4 5 >