c对于一维数组int a[5]={16,17,18,19,20}; (1)用两种方法输出各元素的值。 (2)用两种方法输出各元素的地址值。
时间: 2024-03-22 12:40:30 浏览: 61
(1) 两种方法输出数组元素的值:
方法一:使用下标遍历数组,输出每个元素的值。
```c
int a[5] = {16, 17, 18, 19, 20};
for(int i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
// 输出结果:16 17 18 19 20
```
方法二:使用指针遍历数组,输出每个元素的值。
```c
int a[5] = {16, 17, 18, 19, 20};
int *p = a; // 指向数组的指针
for(int i = 0; i < 5; i++) {
printf("%d ", *(p + i));
}
// 输出结果:16 17 18 19 20
```
(2) 两种方法输出数组元素的地址值:
方法一:使用下标遍历数组,输出每个元素的地址。
```c
int a[5] = {16, 17, 18, 19, 20};
for(int i = 0; i < 5; i++) {
printf("%p ", &a[i]);
}
// 输出结果:0x7fff5fbff8c0 0x7fff5fbff8c4 0x7fff5fbff8c8 0x7fff5fbff8cc 0x7fff5fbff8d0
```
方法二:使用指针遍历数组,输出每个元素的地址。
```c
int a[5] = {16, 17, 18, 19, 20};
int *p = a; // 指向数组的指针
for(int i = 0; i < 5; i++) {
printf("%p ", p + i);
}
// 输出结果:0x7fff5fbff8c0 0x7fff5fbff8c4 0x7fff5fbff8c8 0x7fff5fbff8cc 0x7fff5fbff8d0
```
其中,`&a[i]` 表示数组元素 `a[i]` 的地址,`p + i` 表示指针 `p` 指向的地址加上偏移量 `i`,即数组元素的地址。
阅读全文