2013-10-06 25 views
0

下面的代碼是給我一個分割故障段錯誤的printfÇ

void parseInput(char usrIn[]) 
{ 
char retCmd[MAX_INPUT]; 
retCmd[0] = usrIn[0]; 
printf('Debug: %c\n', retCmd[0]); 
} 

這是用C我的第一個大項目,但我認爲這是printf的給我的錯。但是我不知道。 ..

+0

什麼是'MAX_INPUT',你在打電話時將它傳遞給函數的值?如果你的問題太模糊,很難幫助你。 – insumity

+2

'」 ==>「'........ – Gangadhar

+0

對不起,它的#define MAX_INPUT 64 –

回答

5

您的原始行:

printf('Debug: %c\n', retCmd[0]); 


如何應該是:

printf("Debug: %c\n", retCmd[0]); 


通知從單引號雙引號

+0

謝謝,我會讓這個正確的答案,當時間用完......我從來沒有注意到,即使我應該.. –

-1

您需要確保該數組不是零長度的變化。如果是,則第一個元素爲空,並且當您嘗試訪問數組中不存在的元素時,將會出現段錯誤。可以,或者通過使用int main(int argc, char** argv),以及檢查的argc爲argv數組中元素的數目得到使用sizeof(array)/sizeof(array[0])數組長度。