C - Передача значения переменной через указатель проходит неизвестный длинный - PullRequest
0 голосов
/ 12 марта 2019

Я в настоящее время изучаю C и застрял на задаче, которую мне назначили.Я должен создать функцию с параметром указателя int, где пользователь может ввести int, а затем распечатать int в методе main.В настоящее время я могу вводить данные и распечатывать их должным образом в самом методе.Однако, когда данные передаются в основную функцию, они всегда выводят «32766».Как я могу подойти к этой проблеме?Спасибо за вашу помощь.

int main(void) {
  int a;
  funct2(&a);
  printf("Int is %d", a);

}

void funct2(int *a){
  int d;
  printf("Enter an Integer:: ");
  scanf("%d", &d);
  printf("%d\n", d);
  a = &d; 

}

1 Ответ

1 голос
/ 12 марта 2019

Вы написали a = &d;, чтобы попытаться вернуть целое число через указатель.К сожалению, вместо этого в funct2 указывается d.То, что вы хотите, это *a = d;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...