1.数组长度
结果
7
6
例
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[] = "abc";
char arr2[] = {'a','b','c'};
printf("%d\n",sizeof(arr1));
//计算变量,数组,类型大小单位是字节-操作符包括\0
printf("%d\n",sizeof(arr2));
printf("%d\n",strlen(arr1));
//求字符串长度,只针对字符串求长度不包括字符串标志符\0,使用得引头文件
printf("%d\n",strlen(arr2));
//arr2没有具体\0的位置输出随机值,strlen在\0之前停,检测不到\o输出随机值
return 0;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
2.输出二位数组
3.输出地址
4.冒泡排序
#include <stdio.h>
void bubble_sort(int arr[],int sz)
{
//确定冒泡排序的趟数
int i =0;
for(i = 0;i<sz -1;i++)
{
//每一趟冒泡排序
int j = 0;
for(j = 0;j<sz-1-i;j++)
{
if (arr[j]>arr[j+1])
{
int tmp =arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
}
int main()
{
int arr[] ={9,8,7,6,5,4,3,2,1,0};
int i =0;
int sz = sizeof(arr)/sizeof(arr[0]);
//对arr进行排序,排成升序
//arr是数组,我们对arr数组进行传参,实际上传递过去的是数组arr首元素的地址&arr[0]
bubble_sort(arr,sz);
for(i=0;i<sz;i++)
{
printf("%d",arr[i]);
}
return 0;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
结果
0123456789
假如一开始给的数据相对有序,为了简化内容可以优化程序
#include <stdio.h>
void bubble_sort(int arr[],int sz)
{
int flag = 1;//假设这一趟y要排序的数据已经有序
//确定冒泡排序的趟数
int i =0;
for(i = 0;i<sz -1;i++)
{
//每一趟冒泡排序
int j = 0;
for(j = 0;j<sz-1-i;j++)
{
if (arr[j]>arr[j+1])
{
int tmp =arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
flag = 0;//本趟排序的数据不完全有序
}
}
if (flag == 1)
{
break;
}
}
}
int main()
{
int arr[] ={9,8,7,6,5,4,3,2,1,0};
int i =0;
int sz = sizeof(arr)/sizeof(arr[0]);
//对arr进行排序,排成升序
//arr是数组,我们对arr数组进行传参,实际上传递过去的是数组arr首元素的地址&arr[0]
bubble_sort(arr,sz);
for(i=0;i<sz;i++)
{
printf("%d",arr[i]);
}
return 0;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
数组名是数组首元素的地址
两个例外
1.sizeof(数组名)-数组名表示整个数组 sizeof(数组名)计算的是整个数组的大小,单位是字节
2.&数组名,数组名代表整个数组,&数组名,取出的是整个数组的地址