[問題] 怎麼用array存入一段數字

看板C_and_CPP (C/C++)作者 (路人)時間15年前 (2010/09/29 20:42), 編輯推噓8(8010)
留言18則, 6人參與, 最新討論串1/1
因為我想寫一個程式是有兩串數字 要找看看B串數字 有沒有出現在A串數字裡面 但是因為我目前不太清楚怎麼把數字可以存入ARRAY裡面 我有用下面這個CODE可是沒辦法 請問我錯在哪呢 有人能告訴我嗎 謝謝 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int x; int i; int array[i]; scanf("%d",x); \輸入一個數字X代表數字串的長度\ for(i=0;i<x;i++) { int temp; scanf("%d",&temp); array[i]=temp; } \把變數一個一個存進去\ return 0; } 希望有人能告訴我問題出在哪 或是有更好的寫法 還有有人知道KMP演算法的觀念是什麼嗎 可以的話 請告訴我 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.109.36

09/29 20:47, , 1F
scanf("%d",x); scanf 預期得到一個整數變數的位址,
09/29 20:47, 1F

09/29 20:47, , 2F
應該用 & 來取值再丟給他, 而不是 x 的內容給他, 所以
09/29 20:47, 2F

09/29 20:47, , 3F
記憶體存取違規
09/29 20:47, 3F

09/29 20:49, , 4F
還有你已經使用到了 variable-length array, 小心他所
09/29 20:49, 4F

09/29 20:50, , 5F
配置的空間大小是多少, 還有你給的題意跟程式碼根本是
09/29 20:50, 5F

09/29 20:50, , 6F
兩碼子事阿...
09/29 20:50, 6F

09/29 21:10, , 7F
用malloc 產生一個可變大小的陣列吧
09/29 21:10, 7F

09/29 21:23, , 8F
謝謝 嗯 因為我還沒辦法存入ARRAY 所以還沒寫到搜尋字串
09/29 21:23, 8F

09/29 21:45, , 9F
09/29 21:45, 9F

09/29 22:28, , 10F
j 大好有耐心...Orz
09/29 22:28, 10F

09/29 22:29, , 11F
好人超
09/29 22:29, 11F

09/29 22:30, , 12F
我也只會這種簡單的問題 XD
09/29 22:30, 12F

09/29 22:33, , 13F
又被發卡了...
09/29 22:33, 13F

09/29 22:40, , 14F
我想原PO一定不太會下中斷點,在程式運行到某可疑行時暫停
09/29 22:40, 14F

09/29 22:40, , 15F
然後用工具上的觀察視窗,觀察變數的值,比如陣列的內容
09/29 22:40, 15F

09/29 22:46, , 16F
好人超的教學 : http://ppt.cc/~@dv
09/29 22:46, 16F

09/29 23:56, , 17F
我沒有跑,不過int array[i];這個宣告會過嗎?
09/29 23:56, 17F

09/30 01:15, , 18F
可以呀~ 那是 VLA
09/30 01:15, 18F
文章代碼(AID): #1CepGesc (C_and_CPP)
文章代碼(AID): #1CepGesc (C_and_CPP)