用指针实现一维数组的输入
时间: 2023-07-20 14:37:47 浏览: 68
可以通过以下代码使用指针实现一维数组的输入:
```
#include <stdio.h>
int main() {
int size;
printf("请输入数组大小:");
scanf("%d", &size);
int arr[size];
int *ptr = arr;
printf("请输入数组元素:");
for (int i = 0; i < size; i++) {
scanf("%d", ptr + i);
}
printf("数组元素为:");
for (int i = 0; i < size; i++) {
printf("%d ", *(ptr + i));
}
return 0;
}
```
在上面的代码中,我们首先通过 scanf 函数获取数组的大小,然后定义一个数组 arr。接着,我们将指针 ptr 指向数组的第一个元素,即 arr[0]。接下来,我们通过循环使用 scanf 函数向数组中输入元素,使用指针 ptr 访问数组元素。最后,我们通过循环使用指针 ptr 输出数组元素。
相关问题
c语言利用指针实现一维数组元素的输入和输出
可以利用指针实现一维数组元素的输入和输出,具体实现方法如下:
```c
#include <stdio.h>
int main()
{
int arr[5]; //定义一个长度为5的整型数组
int i;
printf("请输入5个整数:\n");
for(i = 0; i < 5; i++)
{
scanf("%d", &*(arr+i)); //通过指针输入数组元素
}
printf("数组元素为:\n");
for(i = 0; i < 5; i++)
{
printf("%d ", *(arr+i)); //通过指针输出数组元素
}
return 0;
}
```
在上述代码中,通过指针访问数组元素的方法是 `*(arr+i)`,它等价于 `arr[i]`。可以看到,通过指针实现数组元素的输入和输出,与直接使用数组名称访问数组元素的方式是等效的。
用指针实现一维数组的输入,并统计其中偶数和奇数的个数
好的,以下是用指针实现一维数组输入并统计其中偶数和奇数的个数的示例代码:
```c
#include <stdio.h>
int main() {
int a[10], even_count = 0, odd_count = 0;
int *p = a; // 定义指针p指向数组a的首地址
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p); // 通过指针输入数据
if (*p % 2 == 0) {
even_count++;
} else {
odd_count++;
}
p++; // 指针移动到下一个位置
}
printf("数组中偶数的个数为:%d,奇数的个数为:%d\n", even_count, odd_count);
return 0;
}
```
在这个示例中,我们先定义了一个整型数组 `a[10]`,然后定义一个指针 `p` 指向数组的首地址。通过 `scanf()` 函数和指针 `p` 实现输入,每输入一个数,判断它是奇数还是偶数,并分别对 `even_count` 和 `odd_count` 进行加 1 操作。最后输出两个计数器的值,即可得出偶数和奇数的个数。
需要注意的是,指针 `p` 在输入数据后需要移动到下一个位置,以便下一次输入。这里通过 `p++` 实现指针移动。