C语言中abc\0defgh占多少字节?

C语言中abc\0defgh占多少字节?
C语言中\33abcdef占多少字节?
C语言中\\033abceL占多少字节?
C语言中\\\n33abcd占多少字节?
C语言中\033abcdef占多少字节?

字符串abc\0defgh,一共占10个字节。

首先,C语言中每一个字符占1个字节。
其次,\0是转义字符,它占一个字节,而不是\和0分别占一个字节。
再次,C风格的字符串,为了方便操作,默认结尾增加一个\0,以表示字符串结束,这也算一个。
最后,能看到a、b、c、\0、d、e、f、g、h一共9个字节,加上看不到编译器添加的末尾的\0字符,共10个字节。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-07
第一个
abc占3个 \0(这是一个字符串结束字符)占一个 defgh占5个,总9个
第二个
\33占一个(这是一个转义字符) abcdef占6个,总7个
第三个
\\(转义字符)一个 033abceL占8个 总9个
第四个
\\占一个 \n(转义字符,换行的意思)占一个 33abcd占6个 总8个
第五个
\033(这是一个十六进制转义字符)占一个 abcdef占6个 总7个

参考资料:如果您的回答是从其他地方引用,请表明出处

本回答被提问者和网友采纳
第2个回答  2009-10-13
#include<stdio.h>
void main()
{
printf("%d",sizeof("abc\0defgh"));
}
在VC6.0中用测字节函数sizeof即可。例如,对abc\0defgh这个字符串,数起来共有9个字符,但实际上占用10个字节,这是因为系统自动在字符串最后加一个字符串结束标志\0,而它也是要占用一个字节的。sizeof还可以用来测各种数据类型内存分配的字节数。例如,当你执行printf("%d",sizeof(int)),系统会输出4。(我用的编译系统是VC的,至于TC中这个函数是否也可以用这个函数就不知道了)
\33abcdef中,\33代表一个ASCII码值为33的字符,在内存中占用一个字节。
\\033abceL在内存中占用10个字节,其中的\\在C语言中相当于\,在内存中占用一个字节。类似的有%%代表%。例如,在C语言中你要输出33%,可以这样写
#include<stdio.h>
void main()
{
printf("33%%");
}
同样要输出\,可以这样写,
#include<stdio.h>
void main()
{
printf("\\");
}
\033abcdef在内存中占用8个字节。
\\\n33abcd在内存中占用9个字节,其中\\(相当于\)占用一个字节,换行符\n占用一个字节。3作为一个字符占用一个字节,所以33占用两个字节,abcd占用4个字节,系统自行加上的字符串结束标志\0占用一个字节
\033abcdef占用8个字节。\033代表8进制数33所对应的字符。
具体用sizeof函数。
第3个回答  2009-10-13
一个字母占一个字节:以下的用VC6.0计算的
abc\0defgh 10字节
\33abcdef \33占了两个字节 一共8字节
\\033abceL \\033占了5个字节 一共10字节
\\\n33abcd \\\n33占了5个字节 一共9字节
\033abcdef \033占了两个字节 一共为8字节
相似回答