一.用折半查找学习调试
折半查找前提:数据必须有序。
在长度为len的数组arr中,查找关键字key,成功返回下标,失败返回-1
二.字符数组定义
1.把drr[10]中元素依次表示出来
#include<stdio.h>
int main()
{
int arr[]={1,2,3,4};
char brr[10];
short crr[10];
double drr[10]={12.3,34.5,56.7,67.9};
for(int i=0;i<sizeof(drr)/sizeof(drr[0]);i++)
{
printf("%f",drr[]);
}
return 0;
}
2.0的形式:0,0.0,false,NULL,'\0'
字符:用单引号''包括起来的一个字符,例如'a','1','0'
字符串:用双引号""包括起来的一个字符串,由0个或多个字符组成,例如" ","1234","adf ab"
一定有一个隐藏的'\0'表示结尾 '\0'是字符串的结尾标记
是否为字符串:有没有" " 或者 有没有'\0'
报错:烫:局部变量未初始化
int main()
{
char arr[5]={'a','b','c','d','e'};//不是字符串
char brr[10]={'a','b','c','d','e'};//未初始化部分显示'\0' 是字符串
char crr[]={'a','b','c','d','e'};//不是字符串
char drr[10];//不是字符串
//字符数组特有的定义
char err[]="abcd";
char frr[4]="abcd";//报错,还有一个隐藏的'\0'
char grr[10]="abcd";
char *hrr="abcd";//字符串常量内容不可修改
}
三.字符数组使用
#include<stdio.h>
int main()
{
char str1[10]="abcde";//整组的整体赋值只有这一次初始化机会
char str2[10]="xyz";
char str3[10];
str2=str3; //报错,不可以整体赋值
str1+=str2;//报错
int i;
for(i=0;i!='\0';i++)//利用字符串'\0'结尾标记
{
str2[i]=str1[i];
}
str2[i]='\0';//增加结尾标记'\0'
printf("str1=%s\n str2=%s\n",str1,str2);
return 0;
}