0
我試圖逐個檢查字符,所以我需要在我的2D數組中一次訪問一個字符。我試圖使用雙指針(例如:**p
),但我的程序只是崩潰。所以我使用*p
,但它給了我垃圾。在2D數組中一次只能訪問一個字符
這裏是我的代碼:
FILE *in;
in = fopen("thefiles.txt", "r");
if (!in) {
printf("Failed to open input file\n");
exit(1);
}
int j;
char phrase[N_STRINGS][MAX_LENGTH_OF_A_SINGLE_STRING];
char string[MAX_LENGTH_OF_A_SINGLE_STRING];
for(j = 0; j < N_STRINGS; j++)
{
fscanf(in, "%s", string);
strcpy(phrase[j], string);
}
char *p;
*p = phrase[0][0];
// Trying to use a pointer to point at the beginning(?) of the array
printf("P = %s", p);
// After printing it out, I see that it gives me rubbish
謝謝了!
編輯:
好的,我想我剛剛解決了我自己的問題。哈! 所有我需要的是:
char p = phrase[0][0];
不應該有擺在首位指針搞砸:P
我在這段代碼的其他地方看不到'word'? – RussS 2012-02-03 02:09:03
變量'word'是什麼?你的意思是使用'詞組'嗎?你沒有給'p'賦值。 – 2012-02-03 02:09:48
是的,抱歉。詞應該是短語。讓我編輯它:) – Dino55 2012-02-03 03:02:10