不太明白这个程序的结果为什么会是这样?
#include <stdlib.h>
#include <stdio.h>
void main()
{
char a[3][4] = {”aaa”, ”bb”, ”ccc”};
char (*q)[4] = a;
char *p;
int i;
p = malloc(sizeof(char)*1);
*p = ’b’;
*(*q+3) = *p;
for (i = 0; i<3; i++){
printf(“%s ”, q[i]);
}
}
这个程序的结果为:aaabbb bb ccc
很奇怪为什么不是:aaab bb ccc
对指针这块还不是很透,希望高手指点一下。