看板 C_and_CPP 關於我們 聯絡資訊
「錯誤」至少可以分成兩種 一種是「執行前」就可以抓到的,一種是「執行時」才能抓到的 Compiler 只能「盡量」幫你抓出「執行前」就能發現的錯誤 struct Stock { int StockCode; char *StockName; int gain; }; int main() { FILE *read; read=fopen("input.txt","r"); vector<Stock*> Data; Stock *temp; temp=(Stock*)malloc(sizeof(Stock)); int a,b,c; for (int i=1;i<=20;i++) { fscanf(read,"%d",&temp->StockCode); fscanf(read,"%s",temp->StockName); 雖然你有配置 Stock *temp 的空間,但沒配置 temp->StockName 的空間 這個 char * 指向的空間沒有人知道是哪裡,這樣的程式一定會有問題 你的錯誤跟這樣的意思差不多: char *str; scanf("%s", str); 大家都說 C/C++ 的指標很難搞,就是因為這種錯誤,Compiler沒辦法負責 (Compiler怎麼知道你指的地方到底是不是有效的位置?) 只能由設計者自己小心了 最後,相較於 Dev-C++,我個人會比較推薦 Microsoft Visual C++ Express google 找一下就會有網址了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.171.46
lO:恩恩 程式沒有問題了 感謝^^ 05/29 11:57
hilorrk:好人超你是好人>.^ 05/29 12:02
final01:GCC ? 05/29 13:54
operationcow:Dev-C++ 就是 Mingw port of GCC吧 05/29 17:44
loveflames:因為Dev-C++停止更新了? 05/29 18:33
Arim:這跟IDE沒關係吧 05/31 13:28