关于c语言指针问题

#include<stdio.h>voidswap(int*p1,int*p2){intt;t=*p1;*p1=*p2;*p2=t;}voidmain(){inta,b,... #include<stdio.h>
void swap(int * p1,int * p2)
{ int t;
t=*p1;*p1=*p2;*p2=t;
}
void main()
{ int a,b,*p1,*p2;
scanf("%d,%d",&a,&b);
p1=&a; p2=&b;
swap(p1,p2);
printf("a=%d,b=%d\n",a,b);
printf("*p1=%d,*p2=%d",*p1,*p2);
}
将swap中的中的换成以下
void swap(int * p1,int * p2)
{ int * t;
t=p1;p1=p2;p2=t;
}
值就不能交换了,请问是为什么呢
指针t不是指向p1 p1指向p2 p2指向了t所指的吗
应该可以交换的吧
展开
 我来答
奇趣探秘者
2019-11-28 · TA获得超过3795个赞
知道大有可为答主
回答量:3052
采纳率:27%
帮助的人:168万
展开全部
对呀,有什么问题?C项的结果是2,不为3呀。表达式*p1++和表达式*(p1++)是同一个意思,因为后++的优先级比*高。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈玥许鸿远
2019-06-25 · TA获得超过3735个赞
知道大有可为答主
回答量:3144
采纳率:33%
帮助的人:176万
展开全部
int
*
p;中p是变量名
*指出,它是一个指针变量
int
*表示一个类型,即:说明p是”整型指针类型“变量。
这和别的变量定义没有区别啊!如:
int
a;
a是变量名,int是类型。比照着看,有什么难理解的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式