当前位置: 代码迷 >> C语言 >> sizeof()
  详细解决方案

sizeof()

热度:786   发布时间:2007-12-13 11:02:49.0
sizeof()
sizeof('\n')运行结果为2;
'\n'明明是转义字符,应该是一个字节才对呀!
搜索更多相关的解决方案: sizeof  字节  字符  转义  结果  

----------------解决方案--------------------------------------------------------
怎么没人回话呀?
麻烦帮忙看看,在线等呢
----------------解决方案--------------------------------------------------------
'\n' 是整数常量

char nr = '\n';

sizeof(nr);     // 这样才行

常量一般作为 int 类型
----------------解决方案--------------------------------------------------------
这好像与你的编译器有关吧~~~~
比如说,你的编译器,字符占两个字节。。。。。。。。。
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]pinglideyu[/underline][/bold] 于 2007-12-13 12:47 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1146084&ptid=192190][/url]
这好像与你的编译器有关吧~~~~
比如说,你的编译器,字符占两个字节。。。。。。。。。



字符一般占一字节,
我想楼主用的是 TC,我的编译器上肯定是4。

'\n' 是一个常量,而不是 char 类型。


.

[[italic] 本帖最后由 cosdos 于 2007-12-13 14:48 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]cosdos[/underline][/bold] 于 2007-12-13 12:58 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1146097&ptid=192190][/url]



字符一般占一节,
我想楼主用的是 TC,我的编译器上肯定是4。

'\n' 是一个常量,而不是 char 类型。

.


标准:
6.5.3.4 The sizeof operator
3 When applied to an operand that has type char, unsigned char,or signed char,
(or a qualified version thereof) the result is 1.
也就是说,任何编译器sizeof(char)的结果都是1
----------------解决方案--------------------------------------------------------
字符常量在程序中当成int对待.所以输出的是sizeof(int )的值.
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]nuciewth[/underline][/bold] 于 2007-12-13 15:31 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1146310&ptid=192190][/url]
字符常量在程序中当成int对待.所以输出的是sizeof(int )的值.


这个是不一定的,要看编译器了
devc 输出是4
MinGW 输出是1
----------------解决方案--------------------------------------------------------
哦,知道了,谢谢
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]zbqf109[/underline][/bold] 于 2007-12-13 15:45 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1146326&ptid=192190][/url]


这个是不一定的,要看编译器了
devc 输出是4
MinGW 输出是1


Dev-C++ 就是 MinGw

你是不是开优化啊?

//
----------------解决方案--------------------------------------------------------
  相关解决方案