我正在尝试为作业分配以下简单代码。它是一个大文件的一部分,但是无论我运行哪一部分代码,我都不断遇到分段错误错误。我对编码的经验不是很丰富,但是如果有人可以帮助我告诉我哪里出了问题,那将很棒。
我尝试在注释部分中查找错误,但无济于事。
#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;
}
它应该显示带有边框的屏幕,顶部是桌子,下面是矩形“充电站”。
答案 0 :(得分:0)
我知道了。 setup_screen()必须在screen_width()和screen_height()函数之前。由于这些是非标准库的一部分,因此我不完全知道它们的工作原理,但这可以解决问题。