www.sxkb.net > C语言中双引号所占字节

C语言中双引号所占字节

#include int main(int argc,char **argv){ char c='"'; printf("%d\n",sizeof(c)); return 0;}可以看出占用的是一个sizeof(char)也就是1个字节

wchar ch[] = L"hello"; //这种就不占字节,这只是让编译器好识别 wchar ch[] = L"he\"kk\"o"; //这种有转义字符的要占字节

"aaa\"bbb"两边的双引号标记用,不占空间,内部那个属于数据的一部分,占1字节

双引号下的字符由于无法确定也就无法得到具体占用多少字节,所以它是以一个指针来处理字符串常量的.单引号毫无疑问一个字节.

双引号5:字符串,2个字节(包含省略的\0)单引号5:字符型,1个字节常数5:int型,4个字节

C语言中的单引号和双引号含义迥异,用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值,因此,采用ASCII字符集的编译器而言,'a'的含义与0141或97严格一致.而用双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符'\0'初始化.

\n'是两个字节.1、如果是char 型,那么是占用1个字节,8位.如果是string型,应该是两个字节,16位,因为末尾还有个\0字符.比如:char c = 'a';//它占用一个字符 char c[] = "a";//占用两个.char c[] = "abcde";//占用4+1 = 5 个,结

应该是'c'和“c” 分别占1字节和2字节.因为双引号的字符串常量后面会自动添加空字符.所以选B

首先要指出,你的题目有问题.题目很可能是"abh\\013\\\"",你少了一个引号.如果是这样,那么占9个字节.解释如下:C语言中,'\'本身是转义字符,在字符串中用于改变后续某些字符的含义.例如,'\n'表示0x0D即"新行",'\b'表示响铃,'\013'表示ASCII码为八进制数013对应的字符,等等.

这个要看字符数是什么数据类型,可以用sizeof(类型)操作符来测试字节数.1、英文字母:如果是char 型,那么是占用1个字节,8位.如果是string型,应该是两个字节,16位,因为末尾还有个\0字符.比如:char c = 'a';//它占用一个字符

网站地图

All rights reserved Powered by www.sxkb.net

copyright ©right 2010-2021。
www.sxkb.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com