菜鸟关于指针的两个问题
用指针输出两个数中的最大值
#include<stdio.h>
int main()
{
void swap(int *p1,int *p2);
int a,b;int *pi1,*pi2;
printf("please enter a and b");
scanf("%d%d",&a,&b);
pi1=&a;pi2=&b;
if(a<b) swap(pi1,pi2);
printf("max=%d,min=%d",a,b);
return 0;
}
void swap(int *p1,int *p2)
{
int t;
t=*p1;*p1=*p2;*p2=t;
}
答案是这么写的 运行正确 我就写的是下面的
#include<stdio.h>
int main()
{
void swap(int *p1,int *p2);
int a,b;int *pi1,*pi2;
printf("please enter a and b");
scanf("%d%d",&a,&b);
pi1=&a;pi2=&b;
if(a<b) swap(pi1,pi2);
printf("max=%d,min=%d",a,b);
return 0;
}
void swap(int *p1,int *p2)
{
int *t;
t=p1;p1=p2;p2=t;
}
为什么不可以直接交换指针 ?求大神们详细解释一下啊
还有一个问题 怎么用指针指向3个数组
我想用指针调用已定义的三个数组a[10],b[10],c[10]
char *array(a[10],b[10],c[10])
括号里面是应该写数组的首地址还是数组名还是不能这么调用 求大神门给出规范写法