gpt4 book ai didi

arrays - C - 将元素保存到数组

转载 作者:行者123 更新时间:2023-12-04 17:23:34 24 4
gpt4 key购买 nike

我保存在一个静态分配的数组中,我不知道元素的输入中有多少,我只知道它们的数量会少于我为数组保留的数量。使用此输入,我无法保存数组中的最后一个元素。

int nactiCisla (int delky[], int *cnt) 
{
int x;
int q = 0;

printf("Delky nosniku: \n");

while (( scanf("%d", &x) ) == 1)
{

delky[q] = x;
q++;

}

return q;
}

最佳答案

首先,您需要确保添加的元素不会超过数组允许的元素。其次,您可以通过接受第一个插入位置(例如, begin )来使函数更通用

int nactiCisla (int delky[], int begin, int end) 
{
int x;
int current_pos = begin;
printf("Delky nosniku: \n");
for(;current_pos < end && ( scanf("%d", &x) ) == 1; current_pos++)
delky[current_pos] = x;

return current_pos;
}
通过这种方式,您可以选择添加元素的数组的确切部分。例如,要在数组的第三个和第四个位置只添加两个元素,您可以像这样调用该函数 nactiCisla (delky, 3, 5) .我假设 begin参数大于或等于零,即 end参数最多是数组的大小。
当当前数组位置大于 end 时,此函数将停止向数组添加元素。您已作为参数传递,或者您输入的值不是整数。

关于arrays - C - 将元素保存到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64844131/

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