A、 s->next = p;p->next = s;
B、 s->next = p->next;p = s;
C、 p->next = s;s->next = p;
D、 s->next = p->next;p->next = s;
答案:D
A、 s->next = p;p->next = s;
B、 s->next = p->next;p = s;
C、 p->next = s;s->next = p;
D、 s->next = p->next;p->next = s;
答案:D
A. 函数
B. 过程
C. 主程序和子程序
D. 子程序
A. C程序函数之间既允许直接递归调用也允许间接递归调用
B. C程序函数之间允许直接递归调用但不允许间接递归调用
C. C程序函数之间不允许直接递归调用但允许间接递归调用
D. C程序函数之间既不允许直接递归调用也不允许间接递归调用
A. int a[2,3] = {1,2,3,4,5,6};
B. int a[][] = {1,2,3,4,5,6};
C. int a[2][] = {1,2,3,4,5,6};
D. int a[][3] = {1,2,3,4,5,6};
A. 循环体内可以包含有循环语句
B. 循环体内必须同时出现break语句和continue语句
C. 循环体内可以出现选择(分支)语句
D. 循环体内可以是空语句
A. 线性链表的数据域一般只包含一个成员数据,如data
B. 作为线性单向链表的尾结点,其指针域的值设为空指针void,表示链表的结束
C. 作为线性单向链表的尾结点,其指针域的值设为空指针NULL,表示链表的结束
D. 线性链表的长度是固定的,在访问之前就已经确定下来
A. C语言的简单语句必须以分号结束
B. 复合语句在语法上被看作一条语句
C. 赋值表达式末尾加分号就构成赋值语句
D. 空语句出现在任何位置都不会影响程序运行
A. f;
B. f();
C. f(void);
D. f(1);
A. 字符串永远是固定长度的数组,所以没有结尾的问题
B. 检测该字符串元素是否为有效内存地址
C. 检测该字符串元素是否含值
D. 检测字符串元素为'\0'
A. 动态内存分配是指在程序运行时为变量分配内存的一种方法
B. 栈和堆都属于动态存储区
C. 如果希望在程序的运行期间改变数组的长度,则需要使用动态内存分配函数实现动态数组
D. 调用malloc函数后将会返回一个指针类型的地址,该值可以直接赋值给特定的指针变量,无需强制类型转换
A. ab\0cdef
B. 内容不确定
C. ab
D. cdef