刚刚接触编码,我正在通过做问题来学习。在这个问题上,我被困在应该编写以数组形式输入并使用指针进行打印的代码中。下面的代码请指出我在哪里弄错了。
#include <stdio.h>
#include <stdlib.h>
int* record_array (int *size_ptr);
void print_array (int *array_ptr , int *size_ptr);
int* record_array (int *size_ptr)
{
int *array_ptr = (int*) malloc(*size_ptr * sizeof(int));
for (int index = 0;index < *size_ptr;++index)
{
printf("Enter element at index %d : ", index);
scanf("%d", &array_ptr[index]);
}
return array_ptr;
}
void print_array (int *array_ptr, int *size_ptr)
{
for (int index = 0;index < *size_ptr;++index)
{
printf("%d ",array_ptr[index]);
}
}
int main()
{
int size = 0;
int *array = NULL;
printf("How many elements do you want?");
scanf("%d", &size);
array = record_array(&size);
print_array(array,&size);
free(array);
return 0;
}
[当您测试某些想法时,请不要设置scanf
值。 scanf
对于初学者可能非常棘手。也使用正确的类型。