gets를 먼저 받으면 잘 작동하는데

getchar를 먼저 받으면 gets 입력 요구를 안함;;

int main(){
    char str[100];
    gets(str);  //getchar을 먼저 받으면 뒤의 gets에 대해 입력을 받지않음.
    puts(str);

    char ch = getchar();
    putchar(ch);    //ch에 저장된 char형의 값을 출력하는것이기 때문에 call-by-value임.
}