社区
C语言
帖子详情
函数返回的问题
zqg1177
2007-08-16 08:32:41
main()
{ int a=10,b=20;
printf("a=%d,b=%d\n",a,b);
swap(a,b);
printf("a=%d,b=%d\n",a,b);
}
swap(x,y)
int x,y;
{ int temp;
temp=x;
x=y;
y=temp;
}
为什么a,b没有能返回?谢谢大家
...全文
97
6
打赏
收藏
函数返回的问题
main() { int a=10,b=20; printf("a=%d,b=%d\n",a,b); swap(a,b); printf("a=%d,b=%d\n",a,b); } swap(x,y) int x,y; { int temp; temp=x; x=y; y=temp; } 为什么a,b没有能返回?谢谢大家
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zqg1177
2007-08-16
打赏
举报
回复
明白了,谢谢大家,我是在看指针的时候发现这个情况的,现在明白了,谢谢!
星羽
2007-08-16
打赏
举报
回复
传指针 或者 引用吧
yydrewdrew
2007-08-16
打赏
举报
回复
函数调用会发生从实参到形参的复制
很土
2007-08-16
打赏
举报
回复
参数是传值,而不是传址!
void swap(int* x, int* y)
{
int intTemp;
intTemp = *x;
*x = *y;
*y = intTemp;
}
调用时:
swap(&a, &b);
freshui
2007-08-16
打赏
举报
回复
这就是传值和传址的问题
你用传值的方法来调用函数, 实际传过去的是a 和 b两个变量的拷贝, 拷贝的交换不会影响到a和b是否交换, 他们还是原来的东西
要交换a b, 要用传址的方法
我啃
2007-08-16
打赏
举报
回复
你是传值,创建了一个副本,不修改原来的数值
改成:
void swap(int &x,int &y)
获得当前应用程序执行时所在的目录
在PB中获得当前应用程序执行时所在的目录和Exe名称。使用API
函数
GetModuleFileNameA。
c++ primer第五版第6章答案
c++ primer第五版第6章答案
Call 和 Return 使用
关于 Call 和 Return 使用方法的汇编源代码
完整串口通信程序Vc++源代码
完整串口通信程序Vc++源代码
得到操作系统的版本
得到操作系统的版本
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章