sizeof()
sizeof('\n')运行结果为2;'\n'明明是转义字符,应该是一个字节才对呀!
----------------解决方案--------------------------------------------------------
怎么没人回话呀?
麻烦帮忙看看,在线等呢
----------------解决方案--------------------------------------------------------
'\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 类型。
.
字符一般占一节,
我想楼主用的是 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 )的值.
字符常量在程序中当成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
这个是不一定的,要看编译器了
devc 输出是4
MinGW 输出是1
Dev-C++ 就是 MinGw
你是不是开优化啊?
//
----------------解决方案--------------------------------------------------------