sizeof 和strlen的区别
1.sizeof 和strlen没有关系
2.strlen是求字符串长度–只能针对字符串求长度-库函数,需要头文件
3.sizeof 计算数组,变量,类型的大小–单位是字节-操作符
# include
# include
int main() {
char arr1[] = "abc";
char arr2[] = { 'a','b','c'};
printf("%d\\n", sizeof(arr1));
printf("%d\\n", sizeof(arr2));
printf("%d\\n", strlen(arr1));
printf("%d\\n", strlen(arr2));
}
结果 :4 3 3 随机数
顺序输出字符串的元素
# include
# include
int main() {
char arr[] = "abcdef";
int i;
for (i &#61; 0; i <&#61; (int)strlen(arr); i&#43;&#43;) {
printf("%c\\n", arr[i]);
}
}
输出地址
# include
# include
int main() {
char arr[] &#61; { 1,2,3,4,5,6,7,8,9 };
int se &#61; sizeof(arr) / sizeof(arr[0]);
int i;
for (i &#61; 0; i <&#61; se; i&#43;&#43;) {
printf("&arr[%d]&#61;%p\\n", i, &arr[i]);
}
}
输出二维数组元素
# include
# include
int main() {
int arr[3][3] &#61; { {1,2,3} ,{1,2,3},{1,1,1} };
int i &#61; 0,j;
for (i &#61; 0; i <&#61; 2; i&#43;&#43;) {
j &#61; 0;
for (j &#61; 0; j <&#61; 2; j&#43;&#43;) {
printf("%d\\t", arr[i][j]);
}
printf("\\n");
}
}
冒泡排序
# include
# include
void bubble_sort(int arr[],int sz) {
int i &#61; 0;
for (i &#61; 0; i < sz - 1; i&#43;&#43;) {
int flag &#61; 1;
int j &#61; 0;
for (j &#61; 0; j < sz - 1 - i; j&#43;&#43;) {
if (arr[j] > arr[j &#43; 1]) {
int temp &#61; arr[j];
arr[j] &#61; arr[j &#43; 1];
arr[j &#43; 1] &#61; temp;
flag &#61; 0;
}
}
if (flag &#61;&#61; 1) {
break;
}
}
}
int main() {
int arr[] &#61; { 9,8,7,6,5,4,3,2,1,0 };
int i;
int sz &#61; sizeof(arr) / sizeof(arr[1]);
bubble_sort(arr, sz);
for (i &#61; 0; i <sz; i&#43;&#43;) {
printf("%d\\n", arr[i]);
}
return 0;
}
数组地址
# include
# include
int main() {
int arr[] &#61; { 1,2,3,4,5,6,7,8,9 };
printf("%p\\n", arr);
printf("%p\\n", arr&#43;1);第二个元素的地址
printf("%p\\n", &arr[0]);
printf("%p\\n", &arr[0]&#43;1);第二个元素的地址
printf("%p\\n", &arr);
printf("%p\\n", &arr&#43;1);
}