Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 30.07.2016
Сообщений: 2
1

Segmentation fault (core dumped)

03.09.2016, 08:43. Показов 1681. Ответов 2
Метки нет (Все метки)

Учусь по "Язык программирования C" Кернигана Ритчи. Ниже приведен выписанный из нее код (вроде, без ошибок, разве что функция называется не getline, а getliner, т.к. в первом случае программа не компилируется). После окончания ввода в программу выдает "Segmentation fault (core dumped)". Ubuntu 14.04, CodeBlocks.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
 
#define MAXLINE 1000 /*максимальная длина строки в потоке*/
 
int getliner(char line[], int maxline);
void copy(char to[], char from[]);
 
/*Вывод самой длинной строки в потоке*/
main()
{
    int len;    /*длина текущей строки*/
    int max;    /*текущая максимальная длина*/
    char line[MAXLINE]; /*Текущая введенная строка*/
    char longest[MAXLINE];  /*Самая длинная строка из введенных*/
 
    max = 0;
    while ((len = getliner(line, MAXLINE)) > 0)
        if (len > max)
        {
            max = len;
            copy(longest, line);
        }
        if (max > 0)    /*Была не пустая строка*/
            printf("%s", longest);
        return 0;
}
 
/*getline: считывает строку в s, возвращает ее длину*/
int getliner(char s[], int lim)
{
    int c, i;
 
    for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '/n'; ++i)
        s[i] = c;
    if (c == '/n')
    {
        s[i] = c;
        ++i;
    }
    s[i] = '/0';
    return i;
}
 
/*copy: копирует строку 'from' в 'to'; длина to считается достаточной*/
void copy(char to[], char from[])
{
    int i;
 
    i = 0;
    while ((to[i] = from[i]) != '/0')
        ++i;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2016, 08:43
Ответы с готовыми решениями:

Segmentation fault(core dumped) в программе поиска одинаковых файлов в 2-х каталогах и их подкаталогах
Здравствуйте, сейчас делал задание, суть которого в том, чтобы в двух каталогах и их подкаталогах...

Пишет ошибку: "segmentation fault core dumped", где допустил ошибку?
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void show_menu() { puts(&quot;1.Enter array size&quot;); ...

Segmentation fault
Добрый день! У меня следующая проблема: Есть функция real *Interpolate(real **tab, real rr),...

Segmentation fault (core dumped)
Всем доброго времени суток. Не могли бы посмотреть кусок программы и подсказать ошибку. При...

2
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
03.09.2016, 10:59 2
Цитата Сообщение от Gefester Посмотреть сообщение
Код
if (c == '/n')
1. А вы везде по коду вот это уродство (/n, /0) смените на нормальные: '\n', '\0' и т.д. - конечно вы выходите в циклах далеко за границы...
Цитата Сообщение от Gefester Посмотреть сообщение
Кернигана Ритчи
2. Керниган и Ритчи рассчитывали на нормальную операционную систему, а вы норовите это делать в Windows. Изучать C в Windows - это тяжёлое обострение мазохизма (в Windows ещё можно изучать, кое-как, C++, но не C).
3. установите себе Linux для изучения, хотя бы в виртуальной машине, и вы сэкономите себе уйму времени.
1
0 / 0 / 0
Регистрация: 30.07.2016
Сообщений: 2
03.09.2016, 15:04  [ТС] 3
Ох, я немного отбитый. Спасибо за помощь и извините, что побеспокоил из-за такой мелочи. Вообще, я начинал не так давно C учить на окнах, но недавно поставил ubuntu (в первом сообщении написано), теперь из-за мелочей тупняки возникают. Прямой слеш от обратного отличить не смог... Спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2016, 15:04

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Segmentation fault (core dumped) в strcat
Сделал программу, в с новичок, но при вызове strcat выдоет ошибку: &quot;Segmentation fault (core...

Расчитать факториал. Segmentation fault (core dumped). 139
При запуске след кода: #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main (void) { int n; int k =...

Segmentation fault (core dumped): ошибка при любом вводе после компиляции
Всем доброго времени суток. Не могли бы посмотреть программу и подсказать ошибку. При компиляции...

Вывести треугольник Паскаля, используя динамический массив. Ошибка "Segmentation fault (core dumped)"
Задача такова: вывести треугольник паскаля используя динамический массив. Я написала, но выдает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.