在下面的代码中,我的输出类似于(最后一个给出分段错误)
U
s
HelloThisisatest
Segmentation fault (core dumped)
但我不明白为什么。代码是
int main()
{
char *a[]={"Hello" "This" "is" "a" "test"};
printf("%c\n",a[1][0]);
printf("%c\n",a[0][8]);
printf("%s\n",a[0]);
printf("%s\n",a[3]);
return 0;
}
另一个问题是我们可以在不使用逗号的情况下初始化一个二维数组吗?我得到的另一种情况是,当我用\n
s替换 s 时,\t
输出会发生变化
"U s HelloThisisatest (null)"
为什么?