永发信息网

c语言中,a和b值交换程序,写成单独函数和写在main函数的中区别

答案:4  悬赏:80  手机版
解决时间 2021-02-24 08:48
c语言中,a和b值交换程序,写成单独函数和写在main函数的中区别
最佳答案
你子程序里面没返回函数吧。

你在主程序里面定义了ab,但是在子程序里面调用,这些都没问题,

问题在于你调用程序完毕之后,应该把ab的值返回去啊。不返回,主程序咋识别?追问void swap(int a,int b)
{
int k;
k=a;
a=b;
b=k;
}
返回a,b 值如何写了追答结尾有一个返回语句run打头的还是tun打头的,自己翻书。这种问题第一时间就应该翻书。好像程序刚新建的时候就有。追问return a;
可以返回一个值,我就不懂了怎么可以返回两个值。
return a,b;
如果写成这样的话,返回去的两个值怎么接受啊。
我晕
全部回答
形参不能传回实参,可以改成
# include
int main()
{
void swap(int *p1,int *p2);
int *p1,*p2,a=3,b=5;
printf("交换前,a=%d,b=%d\n",a,b);
p1=&a;
p2=&b;
swap(p1,p2);
printf("交换后,a=%d b=%d\n",a,b);
return 0;
}
void swap(int *p1,int *p2)
{
int k;
k=*p1;
*p1=*p2;
*p2=k;
}
没多大区别,写成单独的程序的话下次用到可以直接调用,方便很多。
结构会更清晰。
因为你没返回a和b
因为c语言的函数调用传入参数传入的不是变量本身,而是变量的拷贝。

你应该用传入这两个变量的指针
swap(&a,&b);
函数这样写
void swap(int *a,int *b)
{
int k;
k=*a;
*a=*b;
*b=k;
}

如果是c++的话
修改
void swap(int &a,int &b)
{
int k;
k=a;
a=b;
b=k;
}

调用swap(a,b);不需要修改,因为这样传入的是变量本身。追问如果指针做形参,实参传进去,也不是指针的拷贝吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大众房产棉花巷店地址在哪,我要去那里办事
财务信息系统建设混乱的根本原因是什么
天等县城北商贸城在哪里啊,我有事要去这个地
Satanic Salute什么意思?额啊
道北杂碎腾飞路南连锁加盟店怎么去啊,有知道
浩瀚无垠什么字错了?
请问父母买的房子现在准备过户到儿子头上办房
【捉刀】求古文中“捉刀”的意思
道明镇怎么去啊,有知道地址的么
proe5.0孔关于轴的对称复制,步骤是?
Dilemma的歌曲鉴赏
劝别人不要在爬树了怎么写看图说话
从《论语》的那些话语中可以看出孔子的仁的观
我在设置里清除了微信数据,还能有办法恢复原
沙坪西街/Z414(路口)地址在什么地方,想过去
推荐资讯
在数据库系统中,把具有以下两个特征的模型称
建平文具百货大全地址有知道的么?有点事想过
温州电信宽带帐号都可以在哪里看电影
我们要写关于自己优点的文章,有没有什么优秀
观澜人民医院看男科好不好?
某类房地产2007~2011年的价格见下表,关于平
我国货币供应量中M为( )。A.130799.37B.13433
恒泰装饰有限公司地址在什么地方,想过去办事
卫星之间的磁场影响
什么人不适合吃海参
为什么我没有同龄人的朝气和活力
市政工作是干什么的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?