目录
2 定义了一维 int 型数组 a[10] 后,下面错误的引用是:(c )
3 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
1 知识点
(1)数组是相同类型的一段连续的空间
(2)对于int arr[] = {1,2,(3,4),5}数组,里面总共有4个元素,(3,4)为逗号表达式,逗号表达式会从左向右依次计算,去最后一个表达式的结果,所以取后者,因此数组中元素分别为:1,2,4,5
(3)数组名既可以表示数组的地址,也可以表示数组首元素的地址,两个在数值上是一样的,但是含义不一样。
(4)数组名只有在sizeof和&后才代表整个数组(虽然&arr 打印出来的还是首元素地址,但是,&arr+1,打印出来的地址,比arr多了一个数组地址)。其它都表示首元素的地址
(5)把一组数字逆序,第一种方法 指针的方法*(s-1+ret-i),第二种数组的方法arr(s-1+ret-i)
第三种方法,最后一个数字和第一个数字交换(在函数习题里,有写过字符串逆序,类似可用)
2 定义了一维 int 型数组 a[10] 后,下面错误的引用是:(c )
作业内容
A.a[0] = 1;
B.a[0] = 5*2;//可以的,正确
C.a[10] = 2;
D.a[1] = a[2] * a[0]//可以的,正确
3 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
代码展示:
#include <stdio.h>
int main()
{
int arr1[] = { 1,2,3,4,5 };
int arr2[] = { 6,7,8,9,10 };
int a = 0;
a = sizeof(arr1) / sizeof(arr1[0]);
int i = 0;
for (i = 0; i < a; i++)
{
int b = 0;
b = arr1[i];
arr1[i] = arr2[i];
arr2[i] = b;
}
for (i = 0; i < a; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
for (i = 0; i < a; i++)
{
printf("%d ", arr2[i]);
}
return 0;
}