tryonemore
46
2020-03-07 03:02:56 작성 2020-03-07 03:16:00 수정됨
7
573

c언어 코드(1차원 배열) 엄청 쉬운 질문하나만 드릴게요


1차원 배열 a의 각 요소에 10, 11, 12, 13, 14를 저장하고 출력하는 문제인데요.


실행을 하면 10 11 12 13 14 이렇게 총 5개 정수가 출력될 줄 알았는데

15 하나만 나오네요... 왜그럴까요 ㅠㅠ

시나공 정처기 책보면서 따라했는데 책에는 위와 같은 코드 입력시 10 11 12 13 14가 나온다고 적혀있습니다.


프로그램 설정에 따른 문제인건지...혹시 제가 잘못하고 있는 부분이 보이시면

댓글로 말씀주시면 감사하겠습니다.

0
  • 답변 7

  • defult
    10k
    2020-03-07 03:16:00
    for문 이해 부족으로인해서 정상적인 동작이 되지않는 코드입니다.

    인터넷에서 for문 예제보고 자신이 사용한 내용과 무엇이 다른지 비교해보세요
  • tryonemore
    46
    2020-03-07 03:32:35 작성 2020-03-07 03:45:15 수정됨

    책에는 본문글과 같이 코드가 적혀있었으나 이해를 돕기 위해 for문을 두 개로 나누어

    설명한건가 싶어서 위와 같이 for문 하나에 두문장이 들어가도록 코드를 수정했습니다.


    생각해보니 a[i] = i + 10; 를 앞선 for문안에서 정의해놓고 for문 밖을 빠져나오면

    해당 변수가 지역변수기 때문에 두번째 for문에 적용되지 않은 것 같아서요.

    그렇지만 결과는 같네요. ㅠㅠ  10, 11, 12, 13, 14 이런 형태로 for문에 걸었던 조건을 시행했을 때의 모든 경우의 수가 나오게 하는 방법은 없을까요?

  • 카시와기유키
    649
    2020-03-07 04:12:57

    책하고 똑같이부터 연습하시는 게 좋겠습니다.

  • Elegance
    46
    2020-03-07 05:22:51

    for문 규칙을 잘 봐요

    for(반복시킬 변수의 초기값 ; for문이 진행되는 조건 ; 반복마다 실행할 변수의 값 변화)
    {
        내용;
    }

    세미콜론 (;)은 한 가지 작업의 끝을 알려주는 마침표같은 역할인데 그 위치를 규칙에서 잘 봐요

  • tryonemore
    46
    2020-03-07 11:30:10

    와 감사합니다! 어처구니 없는 실수인데 말씀 안해주셨으면 몰랐을 거에요.

    새벽이라 눈도 안보였는지 끝까지 세미콜론이 안보였네요;;

    앞으론 코드 다 치고 확인하기 전에 세미콜론 잘 찍었는지부터 찾아봐야 겠어요. 감사합니다. 

  • 프리미
    3
    2020-03-07 12:17:56

    for문 뒤에 세미콜론으로 닫으면 안됩니다!


    for(int i=0;i<5;i++);
    a[i] = i+10;

    이런 코드를


    for(int i=0;i<5;i++) {
        a[i] = i+10;
    }

    이렇게요! 차이가 느껴지시나요

  • tryonemore
    46
    2020-03-07 19:57:24

    네~ 감사합니다!

  • 로그인을 하시면 답변을 등록할 수 있습니다.