| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3829 人关注过本帖
标题:很愧对老师这个职业,快帮帮我呀!不胜感谢
只看楼主 加入收藏
lhlasdf
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-7
收藏
 问题点数:0 回复次数:68 
很愧对老师这个职业,快帮帮我呀!不胜感谢

是个很简单的题,可是我就是不知道为什么,是这样的结果:
在pc机中,用sizeof()测试一下‘\n’在内存中的字节数,我郁闷呀,,,我认为是1,因为‘\n’是一个字符型常量,占一个字节,,,为什么上机运行时,结果却是2,
如下程序:
main()
{ printf("%d",sizeof('\n'));}
难道是因为字符型常量在内存中是以ASCII码的形式表示的吗???请各路豪杰帮帮我吧,不然我愧当一个老师呀,我的学生还饿渴的等着我呢!!!

搜索更多相关主题的帖子: 职业 内存 老师 愧对 常量 
2005-11-07 19:36
csjcharles
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-11-7
收藏
得分:0 

''就表示char类型了 两个东西\和n当然是两位拉 挖哈哈~
是不是哦 老师~

2005-11-07 21:35
无铭剑客
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2005-10-31
收藏
得分:0 
字符型常量在内存中是以ASCII码表示的,但这也不能说明什么问题啊。‘\n’是转义字符啊,本身应该就是一个字符嘛,所以我认为还是1。我并不赞成楼上所说的。
2005-11-07 22:55
飞翔的风
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-6
收藏
得分:0 
这好象是编译器的问题吧,你把这段代码分别放在trubro C和Visual C++上运行,会有不同的结果。

2005-11-08 00:08
hongspirit
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-4
收藏
得分:0 
应该是这个原因吧
你说的"\n"本身是个字符串 后面还有一个结束的"\n"所以是两个

秋是容易懒散而适合回忆的季节
2005-11-08 12:59
hongspirit
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-4
收藏
得分:0 

刚才搞笑了 我也不知道了


秋是容易懒散而适合回忆的季节
2005-11-08 13:41
clarkljn
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-3
收藏
得分:0 
以下是引用hongspirit在2005-11-8 12:59:06的发言:
你说的"\n"本身是个字符串 后面还有一个结束的"\n"所以是两个

不是"\n",你说的是字符串数组里的,要有'\0'作为结束标识.

2005-11-08 15:35
fabio210
Rank: 1
等 级:新手上路
威 望:1
帖 子:58
专家分:0
注 册:2005-11-6
收藏
得分:0 
我认为2楼说的正确,这里就是把\n看成两个字符了。

2005-11-08 16:09
wgrinms
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-11-4
收藏
得分:0 
=1
图片附件: 游客没有浏览图片的权限,请 登录注册

[此贴子已经被作者于2005-11-8 17:55:16编辑过]

2005-11-08 17:54
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
结果是一,这个应该和编译器没有关系,因为是char类型的,你看看哪写错了么!

差点把你忘了...
2005-11-08 17:59
快速回复:很愧对老师这个职业,快帮帮我呀!不胜感谢
数据加载中...
 
   



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

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