Подпись display () указывает, что a является указателем. Теоретически это может работать в C, но gcc дал мне ошибку. Что вы хотите сказать компилятору, так это то, что вам нужен массив указателей. Я сделал это с помощью int ** a в сигнатуре функции. Код ниже показывает, как я это сделал. Кроме того, я немного исправил это, так как некоторые из ваших включений не нужны, указатели должны быть напечатаны как беззнаковые, отображение, вероятно, будет лучше, чем пустота, так как раздражение в начале строки \ n тем, что последняя строка вывода закончилась в моей строке приглашения, а getchar () здесь не имеет смысла.
#include<stdio.h>
void display(int **a , int *b , int *c)
{
a[0] = b;
a[1] = c;
printf("%u %u\n", a[0], a[1]);
printf("%d %d\n", *a[0], *a[1]);
}
int main(void)
{
int *a[5];
int b,c;
printf("Enter two integers: ");
scanf("%d %d",&b,&c);
printf("%d %d\n",b,c);
display(a,&b,&c);
}