当我尝试循环执行以下 C 程序时,出现错误:“分段错误:11”
#include <stdio.h>
main() {
int i;
char *a[] = {
"hello",
"how are you",
"what is your name"
};
for (i = 0; a[i][0] != '\0'; i++ ) {
printf("\n%s", a[i]);
}
}
但是当我用以下内容替换for
循环中的测试时,我没有收到错误并且一切正常。
for (i = 0; i < 3; i++ ) {
printf("\n%s", a[i]);
}
如果有人可以向我解释为什么测试a[i][0] != '\0'
不起作用,以及我应该做什么,我将非常感激。