首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符数组的SizeOf函数的使用

字符数组的SizeOf函数的使用
EN

Stack Overflow用户
提问于 2011-11-23 19:18:35
回答 2查看 1.7K关注 0票数 4
代码语言:javascript
复制
void main()
{
   char s[]="\12345s\n";
   printf("%d",sizeof(s));
}

当我编译它时,它给出了6。我不明白为什么它会给出8个实例中的6个。比如{'\1','2','3','4','5','s','\n'}

请任何人说出原因,我想要一些深刻和明确的解释。我会感谢他们的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-23 19:21:21

因为\123被认为是一个字符,所以它是一个转义序列(八进制)。因此,sizeof计算'\123''4''5''s''\n'和结束'\0'的5个字符。

票数 12
EN

Stack Overflow用户

发布于 2012-09-23 17:26:39

代码语言:javascript
复制
char s[]="\12345s\n";

\表示转义序列,如果数字最多使用3位,则默认情况下为八进制。因此,\123将以八进制计算为-> 8*8*1 + 8*2 +3= 83,因此如果打印此代码,您会发现它S45s为S -> Ascii等价物83,因此大小也是4。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8241270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档