I have an array 0 1 2 4 5 6 7 8 9. I want to insert 3 between 2 and 4.
Length stays the same after calling the function, even though I have added an value, why?
printf("%d,", feld[9]);
gives me the right value, code works - but I get a warning.
How can I insert a value even though I initialize with int feld[9] = {0,1,2,4,5,6,7,8,9};
or int feld[] = {0,1,2,4,5,6,7,8,9};
?
nt insertArray(int* array, int length, int value, int pos)
{
int i;
if (pos < length)
{
for (i = length; i > pos; i--)
{
array[i] = array[i - 1];
}
array[i] = value;
length++;
}
else if (pos == length)
{
array[pos] = value;
length++;
}
return length;
}
int main()
{
int feld[9] = {0,1,2,4,5,6,7,8,9};
size_t length = sizeof(feld) / sizeof(int);
insertArray(feld, length, 3, 3);
length = sizeof(feld) / sizeof(int);
for (int i = 0; i < length; i++)
{
printf("%d,", feld[i]);
}
printf("\n");
printf("%d,", feld[9]);
return 0;
}