用C语言编写:通过指针变量输出整形数组的a的10个元素。
时间: 2023-11-28 17:51:13 浏览: 139
下面是使用指针变量输出整形数组a的10个元素的C语言代码:
```c
#include <stdio.h>
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int *p = a; // 将指针变量p指向数组a的首地址
for(int i = 0; i < 10; i++) {
printf("%d ", *(p+i)); // 使用指针变量输出数组元素
}
return 0;
}
```
运行结果为:
```
1 2 3 4 5 6 7 8 9 10
```
相关问题
C语言应用指针编写函数,建立n个整形元素的一维数组,求所有元素的平均值,输出平均值以上的元素
好的,这是一个比较基础的 C 语言问题。以下是可以实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
void print_above_average(int* arr, int n);
int main() {
int n;
int *arr;
int sum = 0;
double average;
printf("请输入数组元素个数:");
scanf("%d", &n);
arr = (int*)malloc(n * sizeof(int)); // 动态分配内存
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
sum += arr[i];
}
average = (double)sum / n;
printf("平均值为:%.2lf\n", average);
print_above_average(arr, n);
free(arr); // 释放内存
return 0;
}
void print_above_average(int* arr, int n) {
printf("平均值以上的元素为:");
for (int i = 0; i < n; i++) {
if (arr[i] > average) {
printf("%d ", arr[i]);
}
}
printf("\n");
}
```
代码解释:
1. `void print_above_average(int* arr, int n)`:定义了一个函数 `print_above_average`,接受一个指向整型数组的指针 `arr` 和一个整型变量 `n`,用来输出数组中大于平均值的元素。
2. `arr = (int*)malloc(n * sizeof(int));`:使用 `malloc` 函数动态分配内存,创建一个大小为 `n` 的整型数组。
3. `for (int i = 0; i < n; i++)`:使用循环遍历整型数组,读取用户输入的数组元素,并计算所有元素的和。
4. `average = (double)sum / n;`:计算数组元素的平均值。
5. `print_above_average(arr, n);`:调用 `print_above_average` 函数,输出平均值以上的元素。
6. `free(arr);`:使用 `free` 函数释放动态分配的内存,避免内存泄露。
希望这个代码可以帮到你,如果还有什么问题可以继续问我哦!
编写一个函数swap,实现两个整形变量的交换,要求形参为指针或数组
好的,这是一个简单的C语言函数,可以实现两个整型变量的交换,形参为指针:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
使用方法如下:
```c
int x = 1, y = 2;
swap(&x, &y);
printf("x=%d, y=%d\n", x, y); // 输出 x=2, y=1
```
如果要使用数组作为形参,可以稍微修改一下:
```c
void swap(int arr[], int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
使用方法如下:
```c
int arr[] = {1, 2};
swap(arr, 0, 1);
printf("arr[0]=%d, arr[1]=%d\n", arr[0], arr[1]); // 输出 arr[0]=2, arr[1]=1
```
阅读全文