我正在尝试编写一个函数,该函数接受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