gpt4 book ai didi

c - 使用 C 中的函数和指针将 n 个数组合并为一个

转载 作者:行者123 更新时间:2023-11-30 19:31:50 25 4
gpt4 key购买 nike

我尝试过使用函数和数组来完成此操作,但无法使用指针来完成此操作。我想借助指针而不是数组来完成此操作,但我在使用指针传递和调用数组的值时遇到问题。下面是代码。

#include <stdio.h>

void final_array(int arr[], int size);
void array(int arr[], int i, int size);

int main()
{
int num, size[100];
int i, j;
int arr[100][100];

printf("Enter the number of arrays: \t");
scanf("%d", &num);
num = num < 100 ? num: 100;

//feeding elements.

for (i = 0; i<num; i++)
{
printf("\nEnter the size of the array: \t");
scanf("%d", &size[i]);

printf("\nEnter the array: ");

size[i] = size[i] < 100 ? size[i] : 100;
array(&arr[i][0], i, size[i]);
}

for(i=0; i<num; i++)
{
final_array(&arr[i][0], size[i]);
printf("\n");
}

printf("\nPress Enter key to exit.\n");
getchar();

return 0;
}

void array(int arr[], int i, int size)
{
int j;
for (j = 0; j<size; j++)
{
printf("\nEnter arr[%d][%d]: \t",i, j);
scanf("%d", &arr[j]);
}
}

void final_array(int arr[], int size)
{
int j;
for(j=0; j<size; j++)
{
printf("%d\t", arr[j]);
}
}

最佳答案

我想这应该可以解决您的问题。请告诉我它是否正确。

#include <stdio.h>
#include <stdlib.h>

void final_array(int *arr, int size);
void array(int *arr, int i, int size);

int main()
{
int num;

int i, j;
int **arr=(int **)malloc(100 * sizeof(int *));
for (i=0; i<100; i++)
arr[i] = (int *)malloc(100 * sizeof(int));

printf("Enter the number of arrays: \t");
scanf("%d", &num);
int *size=malloc(sizeof(int)*num);
num = num < 100 ? num: 100;

//feeding elements.

for (i = 0; i<num; i++)
{
printf("\nEnter the size of the array: \t");
scanf("%d", &size[i]);

printf("\nEnter the array: ");

size[i] = size[i] < 100 ? size[i] : 100;
array(&arr[i][0], i, size[i]);
}

for(i=0; i<num; i++)
{
final_array(&arr[i][0], size[i]);
printf("\n");
}

printf("\nPress Enter key to exit.\n");
getchar();

return 0;
}

void array(int *arr, int i, int size)
{
int j;
for (j = 0; j<size; j++)
{
printf("\nEnter arr[%d][%d]: \t",i, j);
scanf("%d", &arr[j]);

}
}

void final_array(int *arr, int size)
{
int j;
for(j=0; j<size; j++)
{
printf("%d\t", arr[j]);
}
}

关于c - 使用 C 中的函数和指针将 n 个数组合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47849433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com