申请一个 m 行 n 列的整型二维动态数组,可以使用下面的( )语句。
A. p = (int *)malloc(m*n, sizeof(int));
B. p = (int *)calloc(m * n * sizeof(int));
C. p = (int *)malloc(m*n*sizeof(int));
D. int p[m][n];
假设用语句:p = (int *)calloc(m*n, sizeof(int)); 申请了一块动态内存,并用指针变量 p 指向了它,用这块内存保存 m*n 个整型元素,即作为一个二维动态数组来使用,那么 下面通过 p 访问这个二维动态数组第 i 行第 j 列元素的方法,正确的是( )。
A. *(p + i * n + j)
B. p[i][j]
C. p + i * n + j
D. p + i * n
下列程序的输出结果是________。#includeint f(int);int any_function(int (*pf)(int));int main(void){printf("%d\n", any_function(f));return 0;}int f(int i){return i * i + i - 12;}int any_function(int (*pf)(int)){int n = 0;while(pf(n)) ++n;return n;}
下列程序的输出结果是________。#includeint x, y, z, w;void p(int *y, int x){ static int w;*y++;x++;w = x + *--y;printf("%d#%d#%d#%d#", x, *y, z, w);}int main(void){ int x, y, z, w; x = y = z = w = 1;do {static int x;p(&x, y);printf("%d#%d#%d#%d", x, y, z, w);} while(0);return 0;}