求助大神,c语言 为啥输出是 20 20?

#include<stdio.h>voidmain(){inta,b,*p=&a,*q=&b;a=10;b=20;*p=b;*q=a;printf("%d%d",a,b)... #include<stdio.h>
void main()
{
int a,b,*p=&a,*q=&b;
a=10;b=20;
*p=b;
*q=a;
printf("%d %d",a,b);
getchar();
}
展开
 我来答
paniarch
2013-08-21 · TA获得超过288个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:144万
展开全部
#include<stdio.h>
void main()
{
int a,b,*p=&a,*q=&b;
a=10;b=20;
*p=b; /* 因为p是指向变量a的指针,*p就是在操作a,所以这里执行完后,a=20, b=20,如果你是想交换的话,需要用一个临时变量来保存a原来的值 */
*q=a;
printf("%d  %d",a,b);
getchar();
}
我的靑春谁的城
2013-08-21
知道答主
回答量:36
采纳率:0%
帮助的人:20万
展开全部
#include<stdio.h>
void main()
{
int a,b,*p=&a,*q=&b;
a=10;b=20;
*p=b;//这个地方,p仍旧指向a,但是a的值变成了20;
*q=a;//这个时候a=20,把a赋给b,q仍旧指向b,所以最后输出都是20
printf("%d %d",a,b);
getchar();
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dzb653374984
2013-08-21
知道答主
回答量:68
采纳率:0%
帮助的人:28万
展开全部
void main()
{
int a,b,*p=&a,*q=&b;//这里可以知道*p=a,*q=b
a=10;b=20;
*p=b;//此时*p=20,即a=20
*q=a;//上一句a=20,所以*q=20
printf("%d %d",a,b);
getchar();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ddiiqing
2013-08-21 · 超过32用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:91.2万
展开全部
别闹,&a和a不一样,一个是地址,一个是值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式