C-通过指针传递变量值传递未知long

时间:2019-03-12 03:03:01

标签: c

我目前正在学习C,并且遇到分配给我的问题。 我必须创建一个带有int指针参数的函数,用户可以在其中输入int,然后在main方法中打印出int。目前,我可以在方法本身中输入数据并正确打印出来。但是,当数据传递到主功能时,它将始终打印“ 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 个答案:

答案 0 :(得分:1)

您编写了a = &d;试图通过指针返回整数。不幸的是,这在funct2中设置了一个指向d的位置。您想要的是*a = d;