Я работаю над своим назначением для своего курса C, и я пытаюсь использовать вход пользователя и хранить его в переменной, которая будет использоваться позже в моем коде. Вот что моя основная функция выглядит,Scanf Seg Fault
int main() {
// Variables here
char* inputLine[10];
do {
printf("Insert number....");
scanf("%s\n", inputLine);
// More stuff here
}
return 0;
}
Этот код дает мне кучу предупреждений, warning: format specifies type 'char *' but the argument has type 'char **' [-Wformat]
, и если я изменить переменную декларацию,
char* inputLine = NULL;
Когда я исполню мой код я получаю seg fault, может кто-то объяснить мне, что я делаю неправильно, и различия в том, что происходит в памяти, когда я инициализирую эту переменную?
+1 и затвердевают, что с длиной спецификатора на спецификатор формата для защиты от переполнения буфера. – WhozCraig
@WhozCraig благодарит вас за обновления: D – P0W