Почему мой первый метод get () не работает? У меня есть некоторые из них, и кодовые блоки всегда забывают первый? - PullRequest
0 голосов
/ 09 ноября 2019

Я использую gets (), потому что это шутка, и нам сказали. Это действует так, как будто бы я не получил (& a) ...

    ` char a,b,c;
      switch(x);
            case '1':printf("Please enter the author\n");
                     printf("Author:");
                     gets(&a);
                     printf("\nTitle:");
                     gets(&b);`

1 Ответ

1 голос
/ 09 ноября 2019

Почему мой первый метод get () не работает?

gets(char *); ожидает указатель на место для формирования строки ненулевой длины.

char a достаточно большой только для нулевой длины "" строка.

gets(&a); - переполнение буфера - исследовать неопределенное поведение.


"IЯ использую get (), потому что это шутка, и нам сказали. "-> Извините, что ваша школа / работа такова. Рекомендовать исследования для лучшей школы.

...