它在屏幕上显示最后 2 个数字和其他 2 个奇怪的数字。如何打印所有元素?我试图将双指针**傻瓜的开头保留在另一个指针**st中。但它似乎不起作用。
#include<stdio.h>
#include<stdlib.h>
typedef struct a {
int x;
}A_t;
typedef struct b {
A_t **y;
}B_t;
int main() {
int i, j;
A_t **fool, **st;
fool = (A_t**)malloc(2 * sizeof(A_t*));
st = fool;
for(i = 0; i < 2; i++) {
fool[i] = (A_t*)malloc(2 * sizeof(A_t));
for(j = 0; j < 2; j++) {
printf("NR: ");
scanf("%d", &(*fool)[j].x);
}
}
fool = st;
for(i = 0; i < 2; i++) {
for(j = 0; j < 2; j++) {
printf("%d ", (*fool + i)[j].x);
}
}
return 0;
}