我目前正在学习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;
}
答案 0 :(得分:1)
您编写了a = &d;
试图通过指针返回整数。不幸的是,这在funct2
中设置了一个指向d
的位置。您想要的是*a = d;
。