| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 982 人关注过本帖
标题:大家帮忙看下
只看楼主 加入收藏
weststreet
Rank: 2
等 级:论坛游民
帖 子:21
专家分:18
注 册:2011-2-9
收藏
 问题点数:0 回复次数:15 
大家帮忙看下
#include<iostream>
using namespace std ;
void copy(char * a, char * b)
{
char * t ;
t=a, a=b, b=t ;
}
int main(void)
{
char a[]="abcdefg";
char b[]="hijklmn";
copy(a, b) ;
cout<<* a<<endl ;
}
为什么结果是a而不是h?
搜索更多相关主题的帖子: abcdefg 
2011-02-10 14:18
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
void copy(char * a, char * b)
{
char t ;
t=*a, *a=*b, *b=t ;
}
2011-02-10 14:26
weststreet
Rank: 2
等 级:论坛游民
帖 子:21
专家分:18
注 册:2011-2-9
收藏
得分:0 
我的意思是直接交换地址
2011-02-10 14:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
以下是引用weststreet在2011-2-10 14:51:34的发言:

我的意思是直接交换地址
别傻,地址是个常量,怎么可能交换
2011-02-10 14:54
weststreet
Rank: 2
等 级:论坛游民
帖 子:21
专家分:18
注 册:2011-2-9
收藏
得分:0 
呵呵  懂了  谢谢
2011-02-10 15:08
weststreet
Rank: 2
等 级:论坛游民
帖 子:21
专家分:18
注 册:2011-2-9
收藏
得分:0 
对了  
但是直接输出* (a, b)的结果倒是h  为什么呢?
2011-02-10 15:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
以下是引用weststreet在2011-2-10 15:12:56的发言:

对了  
但是直接输出* (a, b)的结果倒是h  为什么呢?
对于逗号表达式,返回最后一个,也就是 *(a,b) 等同于 *b
2011-02-10 16:28
Pirelo
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:118
专家分:550
注 册:2011-1-28
收藏
得分:0 
以下是引用weststreet在2011-2-10 15:12:56的发言:

对了  
但是直接输出* (a, b)的结果倒是h  为什么呢?
你的意思是这样输出cout<<* (a,b)<<endl?这样也可吗?
2011-02-10 16:33
Pirelo
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:118
专家分:550
注 册:2011-1-28
收藏
得分:0 
回复 8楼 Pirelo
如果是这样输出,cout<<* a<<endl ;
那么输出的肯定只有h了,程序中a,b相当于两个指针,分别指向两个字符窜数组的首个元素,调用copy()函数,也相当于只交换了两个数组的首个元素,要想全部交换或者全部输出,还得加一个循环语句。
2011-02-10 16:40
weststreet
Rank: 2
等 级:论坛游民
帖 子:21
专家分:18
注 册:2011-2-9
收藏
得分:0 
不好意思写错了 应该是cout<<*copy(a, b)
结果为h
2011-02-10 17:11
快速回复:大家帮忙看下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016910 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved