Как устранить ошибку сегментации (ядро сброшено)? - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь реализовать этот простой кусочек кода для назначения. Это часть файла большего размера, но я продолжаю получать ошибку ошибки сегментации независимо от того, какую часть кода я запускаю. Я не очень разбираюсь в кодировании, но если кто-то может помочь мне показать, где я ошибаюсь, это было бы здорово.

Я пытался комментировать разделы, чтобы найти ошибку, но безрезультатно.

#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <cab202_graphics.h>
#include <cab202_timers.h>


void setup(double w, double h){
    clear_screen();
    // Draw Border
    draw_line(0,0,0,h-3,'|');
    draw_line(0,0,w-1,0,'-');
    draw_line(0,h-3,w-1,h-3,'-');
    draw_line(w-1,0,w-1,h-3,'|');
    // Draw Table
    draw_line(0,2,w-1,2,'-');
    draw_line(0,4,w-1,4,'-');
    draw_line((w/3)*2,0,(w/3)*2,4,'|');
    draw_line((w/3),0,(w/3),4,'|');
    // Draw Intersections
    draw_char(0,0,'+');
    draw_char(0,h-3,'+');
    draw_char(w-1,0,'+');
    draw_char(w-1,h-3,'+');
    draw_char(0,2,'+');
    draw_char(0,4,'+');
    draw_char(w-1,2,'+');
    draw_char(w-1,4,'+');
    draw_char((w/3)*2,0,'+');
    draw_char((w/3)*2,2,'+');
    draw_char((w/3)*2,4,'+');
    draw_char((w/3),0,'+');
    draw_char((w/3),2,'+');
    draw_char((w/3),4,'+');
    //Draw Charging Station
    draw_line((w/2)-4,5,(w/2)+4,5,'#');
    draw_line((w/2)-4,6,(w/2)+4,6,'#');
    draw_line((w/2)-4,7,(w/2)+4,7,'#');
    show_screen();
}

int main() {
    double w = screen_width();
    double h = screen_height();

    setup_screen();
    setup(w, h);
    return 0;
}

На нем должен отображаться экран с рамкой со столом вверху и прямоугольной «зарядной станцией» внизу.

1 Ответ

0 голосов
/ 27 апреля 2019

Я понял это.Setup_screen () должен быть перед функциями screen_width () и screen_height ().Поскольку они являются частью нестандартной библиотеки, я точно не знаю, как они работают, но это решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...