[스무디] C언어 30. 무한루프

Поделиться
HTML-код
  • Опубликовано: 24 янв 2025

Комментарии • 16

  • @Peace_Noob
    @Peace_Noob 7 лет назад

    4분의1까지 도착 자랑스럽군 더나아가자

  • @undrw4tr
    @undrw4tr 8 лет назад

    프로그렘을 만들다가 까먹었었는데 문장을 임시적으로 비활성화 시키는 방법이 어떻게 되었죠?

    • @장진우-e4j
      @장진우-e4j 8 лет назад +1

      앞에 // 를 넣어서 각주로 만들면 임시적으로 됩니다. 다시지우면 활성화 되고요

    • @형진-d1u
      @형진-d1u 4 года назад

      여러줄을 하려면 /* */ 쓰면 되요

  • @sjk4192
    @sjk4192 7 лет назад

    최고!

  • @JJddff22
    @JJddff22 9 лет назад

    scanf로 사용자가 입력한 정보를 해답이랑 대조시켜서 맞으면 조건이 풀리고
    틀리면 무한반복 되는 방법이
    while (input != id) {
    scanf("%d", &input);
    if (input != id)
    printf("ID가 올바르지 않습니다!
    ;다시 입력해주세요:");
    if (input == id)
    printf("ID가 올바릅니다! 비밀번호를 입력해주세요!
    ");
    }
    이렇게 길게 밖에 못풀겠는데
    무한루프로 줄엿을때
    while (1) {
    if (id = input)
    printf("정답");
    break;
    }
    이렇게 하면 되나요?

    • @스무디TV
      @스무디TV  9 лет назад

      +젝플뉨 아뇨. 그리고 되도록이면 무한루프 하지 마세요.

    • @JJddff22
      @JJddff22 9 лет назад

      앙...
      네; goto어허흠

  • @Jkim1648
    @Jkim1648 9 лет назад

    안녕하세요, 강의를 보다가 질문이 생겼습니다.
    while문을 보면, initial - condition - execute (true일 경우) 순서로 진행된다고 설명하셨습니다. 그리고 전 강의에서는 code는 위에서 아래로 순서로 컴퓨터가 읽어내려간다고 설명하셨습니다. 그럼, code를 짜는 순서를 initial -condition -execute 순으로 짜야 하나요?
    제가 혼자 실습하던 중에
    while (1) {
    printf("infinite loop
    ");
    i++;
    if (i>=10)
    break;
    }
    이런식으로 짜도 강의에서 짠 것과 같은 결과가 나오더군요
    그래서 스무디님이 설명하신 두가지 중 어느 것에 해당하는 지 모르겠습니다.
    while문이 i-e-c 순서로 써놓아도 알아서 i-c-e순서로 읽는 건지, 만약 그렇다면 코드는 위에서 아래로 한줄씩 읽어나간다고 했던 설명과 충돌이 되지 않나 싶어서 질문 드립니다.

    • @스무디TV
      @스무디TV  9 лет назад

      Myungjin Lee while문 자체에 initial을 행하는 부분은 없습니다. 필요한 경우 while문 위에서 initial을 따로 하는 것 입니다.
      문법에 맞게 while문을 사용하면, condition->execute->condition->execute ... -> condition 순으로 실행 됩니다. 이것은 님이 어떻게 코드를 짜든 상관 없습니다.
      문법에 맞게 for문을 사용하면 initial->condition->execute->condition-> ... -> excute ->condition 순으로 실행됩니다. 님이 어떻게 짜든 상관 없습니다.
      반대로 말하면, 문법에서 정한 순서 이외로 작성하는 방법은 없습니다.

    • @Jkim1648
      @Jkim1648 9 лет назад

      스무디 TV 아 그렇군요 문법에서 정한 순서 이외로 작성하는 법이 없다는 의미는, .......
      제가 짠 코드는 execute - condition 순이었는데 이건 그냥 우연으로 실행 된것뿐이고, 문법으로 맞게 condition-execute순서로 짜야 한단 말씀이죠? while문에서요~

    • @스무디TV
      @스무디TV  9 лет назад

      Myungjin Lee execute - condition 순으로 짰다는 것은 착각입니다. 실제로는 condition - excute 순으로 짜셨습니다.
      while문에서 condition은 while()의 소괄호 안에 있는 식 입니다. execute는 while()다음에 나오는 문장 하나 입니다. 맨처음 댓글의 소스에서 while문의 condition은 1이 됩니다. 그리고 execute는 복합문장(중괄호로 둘러쌓인 블럭 전체)가 됩니다.

    • @Jkim1648
      @Jkim1648 9 лет назад

      스무디 TV 아 그렇네요~ 저는 { } 안에 있는 printf 와 if 문을 execute, condition으로 착각했네요.
      답변 고맙습니다~!

  • @minseokkim3159
    @minseokkim3159 9 лет назад

    while(num1 = num2,num2 = num3,num3 = num1,num1 = 0,num2 = 0,num3 = 0)
    {
    num1=rand()%10;
    num2=rand()%10;
    num3=rand()%10;
    }
    스무디님 이런식으로 반복되지 않는 숫자와 0이 들어가지 않는 3개의숫자를 만들려는데요 자꾸 오류가 나요 어떻게 해야되지요?

    • @스무디TV
      @스무디TV  9 лет назад

      +민석김
      int arr[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
      int i ;
      for ( i=0; i < 9; i++) {
      int r1 = rand()%9;
      int r2 = rand()%9;
      int t = arr[r1];
      arr[r1] = arr[r2];
      arr[r2] = t;
      }
      printf("%d, %d, %d", arr[0], arr[1], arr[2]);

  • @이준혁-k9z9m
    @이준혁-k9z9m 7 лет назад

    굿굿