[英]How to print the values that are stored in the array using pointer and function in c
[英]how to print array elements using pointer in c?
请任何人检查我的代码中是否有任何问题我在循环中使用 *(ptr+i) 来打印数组的元素,但它没有提供所需的输出! 有人请帮帮我! 使用指针获取数组的输入和输出
#include <stdio.h>
int main()
{
int arr[5];
int *ptr = &arr[0];
for (int i = 0; i < 5; i++) {
printf("enter the value of array at place %d : ", i + 1);
scanf("%d", ptr);
ptr++;
}
for (int i = 0; i < 5; i++) {
printf("value of array at place %d is %d\n", i + 1, *(ptr + i));
// ptr++;
}
return 0;
}
修改ptr后,错过了数组的第一个元素地址。 在进入打印机循环之前,您需要重新分配第一个元素地址。 查看固定代码:
#include <stdio.h>
int main()
{
int arr[5];
int *ptr = arr; // You can assign an array of the first element directly using the identifier.
for (int i = 0; i < 5; i++) {
printf("enter the value of array at place %d : ", i + 1);
scanf("%d", ptr);
ptr++;
}
ptr = arr; // This line was missing
for (int i = 0; i < 5; i++) {
printf("value of array at place %d is %d\n", i + 1, *(ptr + i));
// ptr++;
}
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.