我正在嘗試編寫一個函數,該函數接受const char*
並遍歷它,直到它匹配const char* hello
的第一個字符。然後打印它必須前進的字符數量和mth
字符。截至目前,我得到它指向的地方,我想,但我似乎無法訪問它打印字符數組的值
const char* hello = "hello";
const char* no_bears = "ERROR: Message must contain 'THIS IS BEAR TERRITORY!' yeeee";
int is_commit_msg_ok(const char* msg) {
/* COMPLETE THE REST */
int m = 0;
char* message = &msg[0];
while (message[m] != hello[0]) {
if (message[m] == '\0') {
return 0;
}
m++;
}
printf("%d\n",m);
printf("%s\n", message[m]); \\ causes segmentation fault
當我消息[M],但是,我得到一個segementation故障:11錯誤,我真的不知道如何解決這個問題?
在故障點'm'的值是多少,緩衝區有多大'message'? – lurker
''/ 0''應該是''\ 0''。這是一個複製錯誤還是在實際的代碼? – Barmar
如果我把「abcdh」,那麼在分割的時刻m的值是5.「啊」它是2, – Cesar