以下程序的输出结果是( )。#include int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}, *p;void f(int *s, int p[][3]){ *s = p[1][1];}void main(){ p = (int*)malloc(sizeof(int)); f(p, a); printf(“%d\n”, *p); free(p);}
A. 1
B. 4
C. 7
D. 5
有以下程序:#include #include void main(){char *p, *q;p = (char*)malloc(sizeof(char)*20); q = p;scanf(“%s%s”, p, q); printf(“%s%s\n”, p, q);free(p);}若从键盘输入:abc def<回车>,则输出结果是( )。
A. def def
B. abc def
C. abc d
D. d d
关于malloc函数和free函数的使用,下面说法错误的是( )。
A. malloc函数和free函数的调用次数必须相同
B. 程序代码中malloc函数和free函数出现的次数必须相同
C. 调用malloc函数申请空间后,需要检测是否分配成功
D. 调用free函数后,需要为指针赋一个新值
已知int i, x[3][4]; 则不能将x[1][1]的值赋值给变量i的语句是()。
A. i = *(*(x+1)+1)
B. i = x[1][1]
C. i = *(*(x+1))
D. i = *(x[1]+1)