C언어 기초 프로그래밍 강좌 15강 - 구조체 (Struct) (C Programming Tutorial For Beginners 2017 #15)

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

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

  • @라따-o9y
    @라따-o9y 2 года назад +2

    강의력이 정말 좋으셔서 시험 앞두고 한 번에 이해했습니다 감사합니다!

  • @샤샤샤-e9c
    @샤샤샤-e9c 4 года назад +4

    c강의 중에 가장 쉽고 잘가르쳐주시는거같아요 잘들었어요!

  • @Hee803
    @Hee803 2 года назад +1

    20강 까지 듣고 한번 더 듣는 중인데 확실히 이해가 잘되네요 굿

  • @EddnesSeo
    @EddnesSeo 6 лет назад +11

    혹시 scanf("%s", s.name); 똑같이 쳤는데 입력 후 처리가 안되시는 분들은 scanf("%s", s.name,10); 이렇게 하시면 될겁니다!

    • @송지호-i6e
      @송지호-i6e 4 года назад

      와 이거 몰라서 20분동안 찾았는데 ㅠㅠ 댓글을 않봐서 ,정말 감사합니ㅏ=다!!!!!!!

    • @김정현-j1g9y
      @김정현-j1g9y 3 года назад

      뒤에 10은 왜 붙이는 건가요?

    • @제이지치
      @제이지치 3 года назад +1

      @@김정현-j1g9y 배열 크기를 의미합니다
      name 배열 크기가 10이라 10으로 지정한거구요

    • @김정현-j1g9y
      @김정현-j1g9y 3 года назад +1

      @@제이지치 감사합니다

    • @austinkwon8259
      @austinkwon8259 2 года назад

      와 ,, 정말 감사합니다 이것때문에 한참 헤맸네요 ㅋㅋ

  • @누군가-d2s
    @누군가-d2s 4 месяца назад

    9:05에서 보면 strcpy문장을 비쥬얼 스튜디오 에서 실행한 결과 정의되어 있지 않는다고 오류가 떳는데 왜그런걸까요?

  • @김대현-z6c
    @김대현-z6c 4 года назад +8

    9:23 에서 strcpy가 정의되지 않아있어서 를 정의해야 저는 실행이 되던데 선생님은 어떻게 가 없는데 실행한 건가요?

    • @고-d9w
      @고-d9w 3 года назад +3

      저도 이걸로 한참 고민했는데요. 추천수가 많은 댓글이 위에 있어 여기에 글을 써봅니다.
      아래 댓글중 얻은 힌트로는 소스파일 저장하실때 확장자에 따른 차이점으로 보입니다.
      기본적으로 저장시 C++소스 파일로 저장됩니다.(이럴경우 strcpy에서 문제 발생, #include 을 선언해주어야 정상적으로 컴파일됩니다.)
      하지만 동영상에서 처럼(7:02) 따로 SAVE AS를 통해 C소스 파일로 저장해주시면 #include 를 선언해주지 않아도 컴파일되면서 실행되더군요...
      두가지의 차이점과 문제점은 따로 알아보러 가야겠습니다. 고수분깨서 대댓글로 달아주시면 감사합니다 ㅠ.ㅠ

    • @김대현-z6c
      @김대현-z6c 3 года назад

      @@고-d9w 오호 처음 알았네요

  • @김명지-n8g
    @김명지-n8g 2 года назад +3

    scanf() 함수 오류가 난다면, 코드 최상단에
    #define _CRT_SECURE_NO_WARNINGS
    추가하면 됩니다!

  • @김지수-k6s
    @김지수-k6s Год назад

    11:35 에 저만 안되나요? 앞에거랑 똑같이 출력되는데.. 왜그런걸까요?

  • @머스터들
    @머스터들 5 лет назад +1

    c++에서는 stdlib대신 string를 쓰면 strcpy를 사용할 수 있지만 숫자는 달라질 수 있음.구조체 'struct 문자 문자'순의 형식은 처음 문자인 변수를 뒤의 문자로 변환한 것임.
    그 다음에 뒤에 썼던 문자. sturct에서 선언한 변수로 변수값 지정가능. math.h안의 sqrt은 제곱근을 구해줌.

  • @hansolchoi9999
    @hansolchoi9999 5 лет назад +5

    9:07 strcpy 안될 때 위에 #include 추가해서 하면 되더라구요! 비주얼스튜디오2019 이용 중입니다!

    • @박민준-l7r
      @박민준-l7r 5 лет назад

      감사합니다ㅠㅠㅠ 어떻게 하는 지 몰라서 쩔쩔매고 있었는데..ㅠㅠ

    • @dduckyee
      @dduckyee 4 года назад +1

      s.name = "홍길동"
      이라 안하고
      strcpy(s.name, "홍길동")
      이라 하는것엔 무슨 의미가 있나요?

    • @eggqwrrty1834
      @eggqwrrty1834 4 года назад

      와 감사합니다! 그런데 없어도 실행이 안되는것은 저장방식 때문인가요?!!

  • @hak-sy9dq
    @hak-sy9dq 5 месяцев назад

    #include 라고만 하면 strcpy 함수를 사용하지 못합니다 왜그런건가요? 전 vscode를 사용하고 있습니다. #include 이것을 추가해야 strcpy 함수를 사용할수 있던데.. 이상하네욤 ㅠ

  • @hyeonsu-hl2ff
    @hyeonsu-hl2ff 4 года назад +1

    지금까지 쭉보다가 약간 내용 외적으로 궁금한게 생겼습니다 ㅎ
    다른 함수,제어문 등을 사용하실때는 아래와 같이 작성 하셨습니다.
    if(i == 0)
    {
    // 내용
    }
    그런데 영상 보다보니 구조체 작성만 아래와 같이 작성 하셨습니다.
    struct student {
    int x, y;
    char name[];
    }
    그냥 어쩌다가 쓰신건지 아니면 변수 이름 짓기와 같은 현업에서 쓰는 가독성을 위한 암묵적 스탠다드 적인 작성법 인지 알고 싶네요.

  • @엘피-s1h
    @엘피-s1h 7 лет назад +5

    구조체 활용에서는 double 형 파일은 scanf()함수로 받을때 %lf로 받으라고 하셨는데
    두 점 사이의 거리에서는 그냥 %f로 받으시더군요
    컴파일링 적으로 문제가 없는건가요??

    • @austinkwon8259
      @austinkwon8259 2 года назад

      저도 이거 궁금해요 당장 영상에서도 .1f사용하십니다.

  • @한민서-g7c
    @한민서-g7c 2 года назад

    strcpy를 사용하는 이유는 무엇인가요?

  • @jhkim9722
    @jhkim9722 3 года назад +3

    11:30 #include
    #include
    struct student{
    int number;
    char name[10];
    double grade;
    };
    int main(void)
    {
    struct student s;
    printf("학번을 입력하세요 : ");
    scanf("%d", &s.number);
    printf("이름을 입력하세요 : ");
    scanf("%s", s.name);
    printf("학점을 입력하세요 : ");
    scanf("%lf", &s.grade);
    printf("학번 : %d
    ", s.number);
    printf("이름 : %s
    ", s.name);
    printf("학점 : %.1f
    ", s.grade);
    return 0;
    }
    여기서 scanf가 안되고 바로 학번 20150001
    이름 : 홍길동
    학점 4.5
    라고 나오는데 왜그런거죠

  • @대규-h1n
    @대규-h1n 3 года назад

    너무 고맙습니다.

  • @shutupdraco
    @shutupdraco Год назад

    학생 정보 구조체 활용 파일 출력하면 자꾸 학생 정보 구조체의 결과값이 출력돼요 ㅠㅠㅠ 20150001, 홍길동, 4.5로 출력이 되는데 왜 그런걸까요.. 코드는 영상 그대로 똑같이 썼는데 그러네요

  • @11bang-l8s
    @11bang-l8s Год назад

    백엔드 준비중인데 c언어에서 배열포인터까지만 알면된다고 들어서요 구조체 까지 꼭알고 java를 넘어가야 하나요 구조체가 꼭알지않아도되는개념인가요 ????? 진심으로 궁금해서 여쭤봅니다

  • @애정-m6k
    @애정-m6k 7 лет назад +2

    double로 선언했는데 %d로 입력안받고 %lf로 수정해서 입력받아 사용했는데 이렇게 사용해도 되는건지 모르겠네요,
    좌표라는 것이 소수점도 표현해야 한다고 생각하는데 과연 이게 맞는건가요?

  • @user-pe8ji8sw3d
    @user-pe8ji8sw3d 3 года назад

    강의 잘 보보았습니다
    세부내용은 ppt에서 볼수있는거같은데 어디서 받을수있나요??
    아님 책이 따로 있나요?

  • @ohyee
    @ohyee 2 года назад

    동빈나님 강의 잘 들었습니다! 강의에서 배열은 같은 문자열을 배열시키는 것이고 구조체는 다른 문자열들을 배열시킨다고 말씀하셨는데
    그러면은 구조체도 배열처럼 컴퓨터 메모리 상에 일자 형태로 배치되는지 궁금합니다!

  • @수정김-v9m
    @수정김-v9m Год назад

    마지막 문제 ‘두 점 사이의 거리’ 에서 동빈님과 똑같은 수를 입력하였는데 다른 결과가 나오네요😢
    계산기로 해보니 동빈님 결과가 맞는데, 아무리 봐도 코드를 똑같이 작성하였는데
    잘못된 결과가 나오니까 이상하네요 ㅜ
    저같으신 분들 계신가요?

  • @dduckyee
    @dduckyee 4 года назад +1

    s.name = "홍길동"
    이라 안하고
    strcpy(s.name, "홍길동")
    이라 하는것엔 무슨 의미가 있나요?

    • @위성률
      @위성률 4 года назад

      c언어 자체에서는 문자열을 = 로 받는게 안됩니다. 그래서 strcpy를 사용하는거에요.

    • @dduckyee
      @dduckyee 4 года назад +1

      @@위성률 아
      a = "123"
      이런것도 안되나요?
      파이썬유저라 몰랐네요

    • @위성률
      @위성률 4 года назад

      네 저도 파이썬유저인데 파이썬은 그게 돼서 정말 편한데 c는 안되는 것 같더라고요 저도 댓글 보고 인터넷 한 번 찾아봤습니다.
      근데
      int main(void)
      {
      char cha = 'b';
      printf("%c
      ", cha);
      // b출력
      cha = 'c';
      printf("%c", cha);
      // c출력
      return 0;
      } 이거는 되긴 하더라고요 이것만 되고 문자열 자체를 =로 받는 것 안되는 것 같습니다.

    • @dduckyee
      @dduckyee 4 года назад

      @@위성률 아, 변수 하나에 할당되는 메모리값때문인것으로 이해하겠습니다. 감사합니다!

  • @jh-gp1cm
    @jh-gp1cm 4 года назад

    정주행중 15강/20강 고지가 코앞에.....!

  • @권기남-i1p
    @권기남-i1p 4 года назад

    선생님 위 강의에서 사용된 ppt 자료들은 따로 다운받기 힘들겠죠?

  • @jtslike
    @jtslike 6 лет назад

    #include
    #include
    struct student {
    int number;
    char name[10];
    double grade;
    };
    int main(void)
    {
    struct student s;
    s.number =20150001;
    strcpy(s.name, "www");
    s.grade = 4.5;
    printf("학번 : %d
    ", s.number);
    printf("이름 : %s
    ", s.name);
    printf("학점 : %.1f
    ", s.grade);
    return 0;
    }
    뭐가 잘못된 거죠?

  • @장호진-c1y
    @장호진-c1y 5 лет назад

    strcpy 에서 빨간줄 뜨는데 뭐가 잘못된건가요 ?? 그대로 따라했는데 ㅠ 식별자 정의가 안됬다고 뜨네요

  • @youngseojeon
    @youngseojeon 6 лет назад +1

    #include 를 선언하면 strcpy 구현시 #include 는 선언하지않아도 되는건가요??

    • @youngseojeon
      @youngseojeon 6 лет назад

      그리고 예제중에 구조체와 구조체 활용부분에서 두 탭이 함께있으면 두번째탭부분이 첫번째탭부분으로 실행이되는데 원래그런건가요?

  • @양재혁-c7y
    @양재혁-c7y 4 года назад +2

    #define _CRT_SECURE_NO_WARNINGS
    #include
    #include
    #include
    struct student {
    int number;
    char name[20];
    double grade;
    };
    int main() {
    struct student s;
    printf("학번입력 : ");
    scanf("%d", &s.number);
    printf("이름 입력 : ");
    scanf("%s", s.name);
    printf("학점 입력 : ");
    scanf("%lf", &s.grade);
    printf("학번은 : %d
    ", s.number);
    printf("이름은 : %s
    ", s.name);
    printf("학점은 : %lf
    ", s.grade);
    }
    이렇게 하고 값을 입력했는데 결과에 이름이 안나오더라고요. 문제가 뭔가요?

  • @nmixx_coffee
    @nmixx_coffee 5 лет назад +1

    C언어로 해킹할수있나요?

  • @Song-ch9zi
    @Song-ch9zi 7 лет назад +1

    좋은강의 정말 감사드립니다 처음코딩접하는데 도움이많이됩니다!
    그리고 배우는 중에 의문이생겨서요!, 로 어떻게 strcpy값이 구현된것인가요? 를 쓰면 출력되는것은 확인햇는데 으로는 출력이불가능해서요!

    • @a22819862
      @a22819862 6 лет назад

      저도이게 궁금해요ㅜ 근데전 stdlib.h 로 구현되긴했는데

  • @Dubeol-sik
    @Dubeol-sik 6 лет назад

    #include 하고 실행 했는데 왜 이름이 6487604(뭔 숫자여- -;)로 뜨지? 9:00

    • @hanhanhan-nf1bk
      @hanhanhan-nf1bk 6 лет назад

      주소가 출력된것 같은데요

    • @wujooin
      @wujooin 6 лет назад

      printf 구문에 %d라고 넣으신거 아녀요?

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

    왜 double형 변수 grade 에 %.lf 값을 넣으면 계속 0.000000값이 출력되나요..? ㅜ

    • @parkercho2342
      @parkercho2342 6 лет назад

      혹시 점 엘에프 입력하신거아닌가용?? 점 일에프입력하셔야대용ㅇㅇㅇ

    • @퇴근하고싶다-q7f
      @퇴근하고싶다-q7f 4 года назад

      @@parkercho2342 와 감사합니다 ㅋㅋㅋㅋ

  • @geedang6576
    @geedang6576 5 лет назад

    영상 잘 보고있습니다. 혹시 int와 char그리고 double의 차이점이 무엇인가요?

    • @davidkim8343
      @davidkim8343 4 года назад

      각 자료형의 크기가 달라요.

    • @김생각-e3i
      @김생각-e3i 4 года назад

      int는 정수형(0,1,2,3 같은 숫자)
      char는 문자(a,b,c,가.나,다,)
      double은 소수를 표현(1.2,4.5)

  • @김-m1p6u
    @김-m1p6u 5 лет назад

    학점 : 4.500000 실행했을때 학점이 이렇게 되는 이유는 뭘까요 ㅠㅠ

    • @kwonyh0315
      @kwonyh0315 5 лет назад

      .1lf라고 안하고 .lf라고 해서 그런거 아닐까요

    • @JK-ow6lq
      @JK-ow6lq 4 года назад +1

      printf 하실 때 &.1f 를 입력하셔야 합니다. 플롯 값의 소수점 아래 자리를 첫번째 자리까지만 출력한다는 뜻이죠.

  • @김-m1p6u
    @김-m1p6u 5 лет назад

    학생 정보 구조체 활용 하는데 '학생 정보 구조체'에서 출력되는 값이 그대로 학번 : 20150000이름: 홍길동 학점:4.500000 이게 나옵니다 소스파일을 새로 만들어도 이러는데 왜이럴까요ㅜㅜㅜㅜㅜㅜ

    • @dinque7234
      @dinque7234 4 года назад

      s.number = 20150001;
      strcpy(s.name,"홍길동");
      s.grade = 4.5;
      를 없애시면 될거에요 늦었지만 도움 됐으면 좋겠네요

    • @shutupdraco
      @shutupdraco Год назад

      저도요 ㅠㅠㅠㅠ 4년전 댓글이지만 혹시 해결하셨나요..ㅋㅋㅋ?

    • @HYUN_K1M
      @HYUN_K1M Год назад

      @@shutupdraco 제목 때매 그래요 ㅋㅋ

  • @user-gur2h1t0tm
    @user-gur2h1t0tm 7 лет назад

    strcpy에서 오류라고 나오는데 어떻게 해결해야되나요?

    • @도토리-u1e
      @도토리-u1e 7 лет назад

      저도 저 그대로 하면 오류떠요!!ㅠㅠ 맨위에 #include 이거 추가하면 되긴해요!! 근데 강의에서 보면 선생님은 #include 없이도 오류 안뜨는데 왜그러지 ㅠㅠ

    • @maykem8296
      @maykem8296 6 лет назад

      @@도토리-u1e 파일을 cpp로 생성했는지 확인하보세용

  • @SongheegyoungZzang
    @SongheegyoungZzang 4 года назад

    #include
    #include
    struct student {
    int number;
    char name[10];
    double grade;
    };
    int main(void)
    {
    struct student s;

    printf("학번을 입력하세요 : ");
    scanf("%d", &s.number);
    printf("이름을 입력하세요 : ");
    scanf("%s", s.name,10);
    printf("성적을 입력하세요 : ");
    scanf("%1f", &s.grade);

    printf("학번 : %d
    ", s.number);
    printf("이름 : %s
    ", s.name);
    printf("성적 : %.1f
    ", s.grade);
    return 0;
    }
    이렇게 했는데 grade가 계속 0.0.이 나옵니다 고수님들 한번만 알려주세요ㅠ

    • @hyeonsu-hl2ff
      @hyeonsu-hl2ff 4 года назад +1

      scanf()함수에서 입력값 받을때 %1f가 아닌 %lf 로 써야 하는거 같습니다.

  • @허새-u8w
    @허새-u8w 4 года назад

    #include
    #include
    struct point {
    int x;
    int y;
    };
    int main(void)
    {
    struct point p1, p2;
    int xDiff, yDiff;
    double distance;
    printf("p1의 좌표를 입력하시오: ");
    scanf_s("%d %d", &p1.x, &p1.y);
    printf("p2의 좌표를 입력하시오: ");
    scanf_s("%d %d", &p2.x, &p2.y);
    xDiff = p1.x - p2.x;
    yDiff = p1.y - p2.y;
    distance = sqrt((xDiff * xDiff) + (yDiff * yDiff));
    printf("두 점 사이의 거리는 %.f 입니다.", distance);
    return 0;
    }
    -----------------------------------------------------------------------경고----------------------------------------------------------------------------
    C26451 산술 오버플로: 4 바이트 값의 '*' 연산자를 사용한 다음 결과를 8 바이트 값에 캐스트합니다.
    오버플로를 방지하려면 '*' 연산자를 호출하기 전에 더 광범위한 형식에 값을 캐스트합니다(io.2).
    대체 이게 왜 뜨는 건가요?
    어떻게 해결할 수 있을까요?

    • @JK-ow6lq
      @JK-ow6lq 4 года назад

      scanf_s가 아니라 scanf 아닌가요? 그리고 연산자 우선 법칙에 따라 그냥 sqrt(xDiff*xDiff+yDiff*yDiff) 라고 입력해도 문제없습니다.

  • @ash_smoke
    @ash_smoke 4 года назад

    5:15

  • @미나미카츠히카리
    @미나미카츠히카리 6 лет назад

    struct 인데 자꾸 struck 으로 적어서 에러났네 ㅡ,.ㅡ;;

  • @박균영-r2r
    @박균영-r2r 6 лет назад +1

    #include
    #include
    #include
    struct student{
    int number;
    char name[10];
    double grade;
    };
    int main (void)
    {
    struct student s;
    printf("학번을 입력하세요 : ");
    scanf("%d", &s.number);
    printf("이름을 입력하세요 : ");
    scanf("%s", s.name);
    printf("학점을 입력하세요 : ");
    scanf("%lf", &s.grade);
    printf("학번 : %d
    ",s.number);
    printf("이름 : %s
    ",s.name);
    printf("학점 : %.1f
    ",s.grade);
    return 0;
    }
    이렇게 짰는데...
    실행시키면
    이전에 작업된 홍길동이 자꾸 나옵니다..
    어디서 홍길동을 자꾸 불러오는걸까요? ㅜㅜ

    • @고현진-j6o
      @고현진-j6o 6 лет назад +1

      이전에 작업된게 나오는 경우에는 구글에서 if 0 endif에 대해 검색해보시면 나올거에요!

    • @Bird_In_Forest
      @Bird_In_Forest 4 года назад

      실행기가 겹치는 것 갗은데요

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

    //학생 정보 구조체 활용
    #include
    #include
    struct student {
    int number;
    char name[10];
    double grade;
    };
    int main(void)
    {
    struct student s;
    printf("학번을 입력하세요:");
    scanf("%d", &s.number);
    printf("이름을 입력하세요:");
    scanf("%s", &s.name);
    printf("학점을 입력하세요:");
    scanf("%1f", &s.grade);
    printf("학번 : %d
    ", s.number);
    printf("이름 : %s
    ", s.name);
    printf("학점 : %.1f
    ", s.grade);
    return 0;
    }
    이렇게 했는데 입력을 다 하고 나면 결과창에 오직 학점만 0.0 값이 출력이 되네요
    s.grade 변수를 만들었고 그곳으로 scanf로 데이터를 보냈고 s.grade값을 출력하라고 명령했는 과정에
    전혀 문제가 없는데 도대체 왜 이런 오류가 발생하는 걸까요?

    • @정채원-s8p
      @정채원-s8p 7 лет назад

      학점을 입력받는 부분에서 grade변수가 double형이므로 f앞에 l을 붙여주셔야 합니다

    • @returns0825
      @returns0825 5 лет назад

      배열 자체에 주소의 뜻이 있습니다
      &s.name에서 &를 빼세용

  • @boxzzang
    @boxzzang 7 лет назад +1

    여긴................어딘가? X ____________________X ;;;;

    • @dongbinna
      @dongbinna  7 лет назад +1

      쉽게 생각해요!

    • @boxzzang
      @boxzzang 7 лет назад +1

      ㅋㅋㅋ 20강까지 그냥 후욱 훑었네요.
      다시 1강부터 돌려보는 중입니다. ^^*

    • @dongbinna
      @dongbinna  7 лет назад +1

      원래 프로그래밍은 그렇게 공부하는 겁니다. 잘 하고 계시네요. :)

    • @boxzzang
      @boxzzang 7 лет назад +1

      응원 감사합니다. ^^*
      PHP SQL JS JQUERY 등 강의도 기대합니다. ^^

    • @dongbinna
      @dongbinna  7 лет назад +1

      SQL, jQuery는 생각하고 있습니다. :) 기대해주세요.

  • @박주언-g6n
    @박주언-g6n 7 лет назад

    카페같은거 안만드세요?^^;;;

  • @hoya0690
    @hoya0690 2 года назад

    #include
    #include
    struct student {
    int number;
    char name[10];
    double grade;
    };
    int main(void) {
    struct student s;
    s.number = 20150001;
    strcpy(s.name, "홍길동"); 여기서 strcpy가 선언되지 않았다는 문구가 자꾸 뜨멘서 에러가 나네욤.
    s.grade = 4.5;
    printf("학번: %d
    ", s.number);
    printf("이름: %s
    ", s.name);
    printf("학점: %.1f
    ", s.grade);
    return 0;
    }

  • @austinkwon8259
    @austinkwon8259 2 года назад

    #include
    #include
    #include
    struct student
    {
    int number;
    char name[20]; // 배열은 자체적으로 주소의 의미를 가짐.
    double grade;
    };
    int main(void)
    {
    // 구조체란 ? 객체 지향 프로그래밍에서 말하는 class의 모체가 되는 것으로 여러 개의 자료형을 묶어서
    // 새로운 자료형을 만들 수 있는 방법입니다.
    struct student s; // 구조체 student 를 s라는 변수로 만들어줌.
    printf("학번을 입력하세요 : ");
    scanf_s("%d", &s.number);
    printf("이름을 입력하세요 : ");
    scanf_s("%s", s.name); // 배열은 그 자체로 포인터의 의미를 가지고 있으므로 이미 주소의 의미를 가짐.
    printf("학점을 입력하세요 : ");
    scanf_s("%lf", &s.grade);
    printf("학번 : %d
    ", s.number);
    printf("이름 : %s
    ", s.name);
    printf("학점 : %.1lf
    ", s.grade);
    return 0;
    }
    여기서 scanf_s('%s", s.name);에서 이름을 입력하면 갑자기 프로그램이 조금 렉걸리다가
    종료가 되어버립니다. 이유가 무엇일까요 ??