我的程序如下:
char a[10];
char (*pa)[10];
pa = a;
a[0] = 'g';
*pa[1] = 'h';
printf("%c", *pa[0]);
printf("%c\n", *pa[1]);
a[0] = 'r';
a[1] = 'd';
printf("%c", *pa[0]);
printf("%c", *pa[1]);
当我运行它时,我得到输出:
gh
rh
怎么回事
a[1] = 'd'
不会将值更改为“d”?
答案 0 :(得分:1)
您只将a[0]
的值分配给*pa[0]
(有基地址值),但不分配第二个元素的值。