В настоящее время я пытаюсь прочитать две строки s и t, которые будут введены в stdio. Они будут вводиться по отдельным строкам.два последовательных fgets seg faults
Следующий код segfaults.
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
char t[5000000];
char s[5000000];
fgets(t,50000,stdin);
fgets(s,50000,stdin);
printf("%c",t[1]);
}
Однако одного фэга нет.
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
char t[5000000];
char s[5000000];
fgets(t,50000,stdin);
printf("%c",t[1]);
}
Другие сообщения говорят о некоторых возвратах и проблемах «/ n», но я не понимаю, в чем проблема.
Измените 't' и' s' на 'static char []', чтобы проверить, не переполнение стека или нет. – timrau
@timrau это переполнение стека –
Да, это было, спасибо! Можете ли вы объяснить, почему это решило? – Essam