求a和b的值,为什么?谢谢

#include"stdio.h"voidswap(int*a,int*b){intt;t=a;a=b;b=t;}voidmain(){inta=3,b=4;swap(&... #include "stdio.h"
void swap(int *a,int *b)
{
int t;
t=a;
a=b;
b=t;
}
void main()
{
int a=3,b=4;
swap(&a,&b);
printf("a=%d,b=%d",a,b);
}
展开
 我来答
陈冠钢
2010-08-10 · TA获得超过274个赞
知道小有建树答主
回答量:269
采纳率:87%
帮助的人:222万
展开全部
首先指出一个小错误:int t;应该为 int *t;
在swap函数中,只是把传入的地址在函数内部作了交换,并没有实质影响到它指向的值。所以输出结果是: a=3,b=4

若要将值改变需要作如下修改:

void swap(int *a,int *b)
{
int t;
t=*a; //将a指向的值赋给t t = 3;
*a=*b; //将a指向的值改变为b指向的值,这里为 *a = 4;
*b=t; //将b指向的值改变为t *b = 3;
}
alecwangdong
2010-08-10 · TA获得超过1043个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:212万
展开全部
a和b的值交换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式