c 코드 질문입니다

조회수 420회
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main() {
    char* *szdata;
    int count = 0, maxlenth = 0;
    scanf("%d*c", &count);
    szdata = (char**)malloc(sizeof(char*)*count);
    scanf("%d*c", &maxlenth);

    for (int i = 0; i < count; i++) {
        szdata[i] = (char*)malloc(sizeof(char) * (maxlenth + 1));

        printf("입력");

        scanf("%s", szdata[i]);


    }
    for (int i = 0; i < count; i++) {
        puts(szdata[i]);

    }

}

여기서 첫번째 for문 안에있는 printfgets_s로 바꾸면 입력 한번이 생략되고 그냥 넘어가는데 왜그러는걸까요 ㅜㅜ

1 답변

  • printf는 출력함수인데, gets_s는 입력함수입니다. puts_s가 있는지는 모르겠지만 해당 함수로 시험해보세요

    • (•́ ✖ •̀)
      알 수 없는 사용자

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

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

(ಠ_ಠ)
(ಠ‿ಠ)