Почему в языке Си пропускается scanf

Когда я ввожу: gg hh\n или gg\nhh\n то программа ниже почему то пропускает второй scanf, а на выходе получаю segmentation fault, т.к str2 никуда не ссылается. Хотя судя по моим знаниям о потоках ввода и вывода подобного происходить не должно

Примечание: При вводе символом \n я обозначил нажатие клавиши Enter

#include <stdio.h>

int main(int argc, char const *argv[])
{
    char *str1;
    char *str2;
    scanf("%s", str1);
    scanf("%s", str2);
    printf("%s %s\n", str1, str2);
    return 0;   
}

Ответы (0 шт):