我對C有點新,我想寫一個簡單的蛇重拍。 您可以在github上查看源代碼:https://github.com/blackwolf12333/Snakesegfault可能是因爲指針問題
構建時,輸出中沒有警告或錯誤。但是,當我運行可執行文件並按下「Segmentation fault(核心轉儲)」命令進入退出程序時。 我不是一個專業的指針,我來自java,當用谷歌搜索時,我發現它可能是一個指針問題。
我不知道哪裏出問題了,因爲據我所知,我正在做的事情是正確的。問題是當我試圖通過我的蛇的body_part的循環。
void print_snake() {
int i;
body_part *next = main_snake.head.next;
move(main_snake.head.pos.x, main_snake.head.pos.y);
addch('$');
for(i = 0; i < main_snake.length; i++) { //TODO: segfaults when 'main_snake.length'(should be this) instead of 'main_snake.length - 1'
printf("1 part");
print_body_part(next);
next = next->next;
}
}
這是來自存儲庫中的snake.c文件。
我希望你們能幫助我, 問候blackwolf12333
我明天會嘗試第一件事:) – blackwolf12333 2013-03-02 23:42:36