Dev C 세그멘테이션 오류 질문

조회수 453회

코딩 시작한지 얼마 안되는 사람입니다. 아직 문자열을 입력해서 출력받는걸 못해서 Dev C 로 한 번 해보려고 했는데 코드를 만들어서 입력을 힜습니다. 그런데 실행기가 응답을 안해서 디버깅 돌려봤는데 세그멘테이션 오류라고 뜨네요

답변 쉽게 부탁드립니다

이 코드 입니다

#include <stdio.h>
#include <stdlib.h>

    int main() 
{       
    char* q;

    printf("Type your name.\n");
    scanf("%s", &q);
    printf("Your name is: %s\n", q);

    return 0; 
} 
  • (•́ ✖ •̀)
    알 수 없는 사용자
  • q 가 꼭 포인터변수로 있어야 한다면 동적할당하셔야합니다. 김호원 2020.9.29 12:11

1 답변

  • char q[1024];
    
    // ...
    scanf("%s", q);
    // ...
    
    

    이렇게 해야 해요.

    질문자의 코드는 사람 들어갈 방은 준비 안하고 방 열쇠만 준거랑 똑같아요. scanf 에서 사람들이 왔는데, 열쇠에 집어넣으려고 하니까 못들어가고 클레임 거는거에요.

    쉽죠?

    • 아 알겠습니다 근데 q 옆에 있는 숫자는 뭘 의미하는지 여쭤봐도 될까요? 방을 만들어준 건가요? 알 수 없는 사용자 2020.9.29 13:34
    • 네. 몇평짜리 드릴까 하다가, 거하게 스위트룸으로 1024평 만들어 드렸습니다. 이게 평수가 작으면 또 불평하시더라고요. nowp 2020.9.29 15:23
    • 아 ㅋㅋㅋㅋ 그렇군요. 그러니까 단어를 몇 바이트 출력할수 있는지 방 크기를 정한다는 거죠? 알 수 없는 사용자 2020.9.29 15:28
    • @εξουσία : 출력 아니고, 저장. 손님들 들어오면 들어와 있을 방이요. 그게 준비되어 있지 않은데 막 받으면, 막 남의 방에 들어가있고, 그래서 딴 손님들이 없어져 있거나 해요. nowp 2020.9.29 16:42
    • @daewon: 아 감사합니다 알 수 없는 사용자 2020.9.29 19:12

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)