当我尝试循环执行以下C程序时,出现错误:"Segmentation fault: 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'
不起作用,以及我应该做什么,请让我非常感激。