在这里插入代码片# 错题集
- 函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0 判断是正确的
- 对于已正确定义的二维数组a, *(a[i]+j)与a[i][j]的含义相同。 判断是正确的
- 数组名就是一个指针常量,指向数组的首元素(或者说代表了数组的首地址)。 判断是错误的
数组名不是指针,而是地址 - 在C语言中能逐个地使用下标变量,也能一次引用整个数组。 判断是错误的
不能一次性引用整个数组 - 在定义数组之后,根据数组中元素的类型及个数,在内存中分配一段连续存储单元用于存放数组中的各个元素。 判断是正确的
- 在定义数组之后,根据数组中元素的类型及个数,在内存中分配一段连续存储单元用于存放数组中的各个元素。 判断是正确的
- 若有定义int a[]={2,4,6,8,10},a[1]和a++表示的含义相同。 判断是错误的
a代表常量,常量不能自增 - 不正确的赋值或赋初值的方式是__C__。
A.char str[]=“string”;
B.char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’};
C.char str[10];str=“string”;
D.char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’, '\0’};
数组名不能赋值
10. 以下哪个定义中的p不是指针,请选择恰当的选项: _C
A.char **p;
B.char (*p)[10];
C.char *p[6];
D.给出的三项中,p都是指针
*char p[6]代表的是指针数组,它里面的元素才是指针
10.若用数组名作为函数调用的实参,则传递给形参的是 A_
A.数组的首地址
B.数组第一个元素的值
C.数组中全部元素的值
D.数组元素的个数
11.选择排序
#include <stdio.h>
#define MAXN 10
int main()
{
int i, index, k, n, temp;
int a[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &a[i]);
}
for(k