指针课后题求助
#include <stdio.h>int main()
{
char array = {
{
{'x', 'x', 'x', 'x', 'x'},
{'x', 'x', 'o', 'x', 'x'},
{'x', 'x', 'x', 'x', 'x'}
},
{
{'x', 'x', 'x', 'x', 'x'},
{'x', 'x', 'o', 'x', 'x'},
{'x', 'x', 'x', 'x', 'x'}
}
};
printf("%c%c%c%c\n", *(*(*array + 1) + 2), *(*(*(array + 1) + 1) + 2), ***array, *(**array + 1));
return 0;
}
蒙对答案了
但是不知道四个指针具体指的是哪个位置 *array是数组第一个三行五列二维矩阵的地址,
*array+1是数组第一个三行五列二维矩阵的一行
*(*array+1)+2是数组第一个三行五列二维矩阵的第一行第2列元素的地址
*(*(*array+1)+2)是数组第一个三行五列二维矩阵的第一行第2列的元素
其他的同理 char array
*(*(*(array + i) + j) + k)
表示的是array数组的第个元素
页:
[1]