| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1322 人关注过本帖
标题:字符指针数组 取元素问题
取消只看楼主 加入收藏
xycode
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2011-4-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
字符指针数组 取元素问题
程序代码:
int main()
{
    char *name[6]={"one","two","three","four","five","six"};
    std::cout<<std::endl<<*name;    
}


直接cout *name  可以得到第一个单词,但是如果要取第一个单词的 n 字母,要怎么做呢?我试过用二维数组,每行一个单词,但觉得这样很浪费。
一维数组要怎么做呢。
搜索更多相关主题的帖子: 元素 
2011-04-27 10:21
xycode
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2011-4-27
收藏
得分:0 
非常感谢两位...我是综合两位的答案解决的
a=1; //第几个元素
c=2; //第几个字母
std::cout<<*(*name[a-1]+c-1);


一楼的不用*name 的话,一样只会输出第二个元素,two 而不是第一个元素的第二个字母

二楼的不用 [a-1]+c-1 的话,也只是取到第二个元素,而不是第一个元素的第二个字母。

编译器 gcc 4.4.1

[ 本帖最后由 xycode 于 2011-4-27 13:36 编辑 ]
2011-04-27 13:34
xycode
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2011-4-27
收藏
得分:0 
以下是引用pangding在2011-4-27 13:59:50的发言:

虽然你是一维数组,但也可以用 name[0][1] 来取第一个单词的第二个字母。

楼上两位的意见,就是变相地在用我这个代码。


试了一下,如果是 *name[0][1] 这样会取到第二个元素 two 的首字母 t
2011-04-27 15:37
xycode
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2011-4-27
收藏
得分:0 
回复 7楼 pangding
突然又可以了,晕死,下午我确认过3次代码,晚上试试又可以了的?
2011-04-28 01:50
快速回复:字符指针数组 取元素问题
数据加载中...
 
   



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

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