字符串
折半查找
注意点:折半查找被查找的数组必须是有序的
查表法写法
void printHex(int num)
{
1.定义一个数组, 作为取出的八进制的结果查询的表
char cs[] = {'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f'};
2.定义一个数组,用于保存查询后的结果
char rs = {0};
3.定义变量存储结果的索引,指向了结果数组的最大下标
int pos = sizeof(rs) / sizeof(rs[0]); // 8
while (num != 0) {
取出num的最低4位
int index = num & 15;
把取出的值当作索引取结果数组中查询
char c = cs[index];
把查询出来的结果保存到数组中
rs[--pos] = c;
右移4位,方便下一次取值
num = num >> 4;
}
for (int i = pos; i < 8; i++) {
printf("%c", rs[i]);
}
printf("\n");
}
二维数组
元素类型 数组名[元素个数];
元素类型: 说明将来数组中存放元素的类型
元素个数: 说明将来数组中能存放多少个元素
元素类型 数组名[行数][列数];
元素类型 数组名[有多少个一维数组][每一个一维数组的元素个数];
二维数组本质依然是一个一维数组, 只不过他的每一个元素又是一个一维数组而已
二维数组可以省略行数,会自动根据初始化的值计算出有多少个一维数组
注意:二维数组不能省略列数,必须明确的告诉二维数组中每一个一维数组可以存放多少个元素
要给二维数组进行一次性的赋值,只能在定义二维数组的时候