nt main() { int **p, a[3][2]; p = &a; return 0; }
时间: 2023-06-15 18:06:05 浏览: 64
grub4dos-V0.4.6a-2017-02-04更新
这段代码存在类型不匹配的错误。
变量a是一个二维数组,其类型是int[3][2],因此&a的类型为int (*)[3][2],表示指向一个二维数组的指针。
而变量p的类型为int **,表示指向指针的指针,它可以指向一个int *类型的指针或者一个int类型的变量。
因此,将&a赋值给p是不合法的,因为它们的类型不匹配。如果想要让p指向a,可以将p的类型改为int (*)[2],表示指向一个一维数组的指针,然后将a的第一行地址赋值给p即可:
```
int (*p)[2]; // 指向一维数组的指针
int a[3][2];
p = a; // 指向a的第一行
```
阅读全文