Мне не ясно, какие у вас были проблемы, но эта незначительная адаптация вашего кода работает для меня (и тесно связана с тем, что я предложил в моем комментарии ).
#include <stdio.h>
static void testFun(int *arr)
{
for (int i = 0; i < 2; i++)
{
printf("%d element: ", i + 1);
scanf("%d", &arr[i]);
}
}
int main(void)
{
int arr[2];
testFun(arr);
for (int i = 0; i < 2; i++)
printf("%d: %d\n", i + 1, arr[i]);
return 0;
}
Пример выполнения:
1 element: 234512
2 element: 872390
1: 234512
2: 872390
В коде есть различные нефиксированные недостатки, в том числе:
- Не передается размер массива функции.
- Не проверять результат из
scanf()
- он должен быть один;если это не так, есть проблема.
Я использовал петли в стиле C99 for
;если вы застряли с C90, объявите i
вне циклов.
Вы также можете использовать:
scanf("%d", arr + i);