c语言简单的问题,这个程序怎么改?

来源:百度知道 编辑:UC知道 时间:2024/05/04 10:51:00
main()
{int *p,*q,a,b;
p=&a;
printf("input a:");
scanf("%d",*p);
.
.
.
}

错误原因是*p表示的是变量a的值,而不是变量a的地址

scanf("%d",*p); 输入的时候要指明变量的地址输入,应该改为
scanf("%d",p);

scanf("%d",&a);

main()
{int *p,*q,a,b;
p=&a;
printf("input a:");
scanf("%d",p); /*scanf需要传入的是一个地址,p代表的就是变量a的地址,所以取消*符号就行了*/
printf("%d",a);
getch();

}
winxp + win tc 编译通过