看板 C_and_CPP 關於我們 聯絡資訊
1. int main(int argc,char*argv[]){ 2. char *string[argc]; 3. int i; 4. for(i=0;i<argc-1;i++) 5. strcpy(string[i],argv[i+1]); 6. } 想請問各位 這段程式碼有問題嗎?? 因為我執行的時候一直出現segmentation fault -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.239.77
stonehomelaa:置底十誡 03/22 11:10
bombilla:4、5行多唸個幾次就會有感覺了~~如果還是感覺不出來的話 03/22 11:11
james732:第二行就錯了啊...陣列不要用 [argc] 這樣去宣告吧 03/22 11:12
bombilla:就在strcpy前print一下string[i]和argv[i+1]的值,就會有 03/22 11:12
sunneo:那就為string配置應該要有的空間 03/22 11:12
upo:我不太懂耶,我自己推導的過程,我覺得不會超出我宣告範圍呀 03/22 11:22
upo:我嘗試錯誤的過程中,我覺得問題應該是在第五行 03/22 11:27
upo:對了,我用的是GNU C的library 03/22 11:28
Cloud:上面推文就講說沒配置string記憶體...QQ 03/22 11:32
upo:在下不才,請問配置string記憶體是什麼意思呢?? 03/22 11:52
akasan:string[i]的記憶體哪裡來? 03/22 11:59
upo:所以還要malloc的意思嗎? 03/22 12:03
stonehomelaa:置底十誡就有寫了 別自己悶著頭"推導" 03/22 13:07
stonehomelaa:觀念錯誤 想上一輩子也不會正確的 03/22 13:07