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

一个字节或者一个字符到底多长?我的计算机算不出来了哈
请看我的程序:

#include<iostream>

using namespace std;

int main()
{
char i='a';
char *p;
p=&i;
cout<<p<<endl;
p=p+1;
cout<<p<<endl;
return 0;
}
显示如下:

图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: 字符 
2006-12-02 09:01
litcatyx
Rank: 1
等 级:新手上路
威 望:1
帖 子:151
专家分:0
注 册:2006-10-27
收藏
得分:0 
标准库提供的cout<<,当输出char *类型时并不是输出p指向的字符,他默认p指向的是一个字符串.
都知道字符串是以'\0'结尾的,而在你的程序里p指向一个单个的字符.输出时,会不断输出p指向的字符之后的字符,直到遇到'\0',这其中如果有不能读的内存区域,你的程序就会崩溃.

如果你仅想知道char的大小,用sizeof(char)就行了

2006-12-02 10:38
a402730324
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:1233
专家分:0
注 册:2005-12-1
收藏
得分:0 
说的 很好。

敢犯强汉者,虽远必诛!——陈汤 不知吾辈何时方能吐出此豪言壮语?
2006-12-02 14:27
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

#include<iostream>

using namespace std;

int main()
{
char i='a';
char *p;
p=&i;
cout<<p<<endl;
p=p+1;
cout<<p<<endl;
return 0;
}

没有\0结束啊
cout<<对字符串只认这个


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-12-02 15:55
litcatyx
Rank: 1
等 级:新手上路
威 望:1
帖 子:151
专家分:0
注 册:2006-10-27
收藏
得分:0 
#include<iostream>

using namespace std;

int main()
{
char i='a';
char *p;
p=&i;
for(char *tmp=p;*tmp!='\0';++tmp)
cout<<*tmp;
cout<<endl;
cout<<p<<endl;

return 0;
}

这是我改的程序,for循环从p指向的字符开始输出直到'\0'。
你会发现for循环的输出和cout一样

2006-12-02 16:14
快速回复:[求助]一个字符到底多长
数据加载中...
 
   



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

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