指针的*问题
这是输入两个数 从大到小输出 代码正确 有几个地方不清楚怎么回事#include<stdio.h>
int f(int *p1 , int *p2);
int main()
{
int a , b , z;
int *p1 , *p2 ,*p;
scanf("%d%d",&a,&b);
p1=&a , p2=&b;//第一问题这里为什么不能写成*p1=&a
printf("p1=%d p2=%d",p1,p2);
printf("*p1=%d *p2=%d",*p1,*p2);
if(a<b)
{
f(p1,p2);//第二个问题这里为什么不能是(*p1,*p2)
}
printf("\na=%d,b=%d\n",a,b);
printf("p1=%d p2=%d",p1,p2);
printf("*p1=%d *p2=%d",*p1,*p2);
}
int f( int*p1 , int *p2)
{
int t;//这里如果定义一个指针然后把下面的t换成*t怎么程序错误了
t=*p1;
*p1=*p2;
*p2=t;
}