| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 790 人关注过本帖
标题:[求助]字符串
只看楼主 加入收藏
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
 问题点数:0 回复次数:11 
[求助]字符串

char s[]="123\t456\00089",*p=s;
cout<<*(p+5)<<endl;
cout<<(p+5);
输出结果为什么是5和56呀~高手解释下哦~

搜索更多相关主题的帖子: 字符 
2007-10-05 20:20
animeo
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-10-2
收藏
得分:0 

前一个是一个元素,后一个是一个数组


希望成为一名出色的程序员
2007-10-05 20:26
DieHeart
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-10-4
收藏
得分:0 
字符串一个个数过去(从0开始),*(p+5),就是s[5]=5
字符串默认到'\0'就结束了呀,所以从s[5]以后的串长度就只有56了
2007-10-05 20:29
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
得分:0 
还是不太明白,能再说详细点吗???

[此贴子已经被作者于2007-10-5 21:33:16编辑过]


勤奋造就未来
2007-10-05 21:17
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
得分:0 
以下是引用DieHeart在2007-10-5 20:29:56的发言:
字符串一个个数过去(从0开始),*(p+5),就是s[5]=5
字符串默认到'\0'就结束了呀,所以从s[5]以后的串长度就只有56了//这句话怎么意思呀?


勤奋造就未来
2007-10-05 21:36
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
得分:0 
急哦~~有谁知道吗?

勤奋造就未来
2007-10-05 23:00
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用xbw0114在2007-10-5 20:20:28的发言:

char s[]="123\t456\00089",*p=s; //p指向s的第一个字符
cout<<*(p+5)<<endl; //p做+5运算再解引用,123\t45(012345)得5
cout<<(p+5); //输出从当前指针指向的字符到\0(空字符)的字符串,得56
输出结果为什么是5和56呀~高手解释下哦~


Fight  to win  or  die...
2007-10-05 23:14
xbw0114
Rank: 1
等 级:新手上路
帖 子:141
专家分:0
注 册:2007-8-8
收藏
得分:0 

我了~~


勤奋造就未来
2007-10-06 00:02
夜子
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-10-2
收藏
得分:0 
\00089中是不是\0表示那个结束符号。剩下的0089四个数字是不是存在于数组中,但是要输出他们则必须用*(p+8)而不能cout<<p;呢?

2007-10-06 15:29
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
回复:(夜子)\\00089中是不是\\0表示那个结束符号。剩...

实践出真知啊,我要是你就自己写写看。


Fight  to win  or  die...
2007-10-06 15:58
快速回复:[求助]字符串
数据加载中...
 
   



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

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