Где я ошибаюсь и почему?
#include<stdio.h>
#include<string.h>
int main()
{
char *str;
int length, i, j, flag = 0;
printf("\n\nEnter string: ");
fgets(str, 20, stdin);
printf("You entered: %s", str);
return 0;
}
Возникла проблема со строкой fgets(str, 20, stdin);
. Я не могу разобраться. После ввода строки компилятор просто перестает работать, и я получаю сообщение об ошибке: Эта программа перестала работать. Не могли бы вы указать, где я ошибаюсь, а также обходной путь для этой проблемы? Стандартная библиотека определяет fgets
как:
char * fgets ( char * str, int num, FILE * stream );
Я использую Sublime Text 2 и GCC в оболочке MinGW.
Другой вопрос, основанный на концепции указателя: есть ли различия между char * str
, char* str
и char *str
?