c语言里的字节问题,是我计算错误还是vc 6.0软件的问题?

#include<stdio.h>main(){printf("%d",sizeof("35\ae"));}结果是5反斜杠后面不应该算是一个字节吗?这样应该是四个啊为啥是... #include<stdio.h>
main()
{
printf("%d",sizeof("35\ae"));
}
结果是 5
反斜杠后面不应该算是一个字节吗?这样 应该是四个啊 为啥是五个呢?
展开
 我来答
maoyulng
推荐于2016-06-15 · 超过21用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:30.3万
展开全部
写语句printf("35\ae"); 测试一下。\a算一个字节,另一个是e,字符串结束,内部还有一个,正好5个。另外你的意思可能是 \0xae,如果ae是16进制数的话,前面要加0x
追问
你的意思是字母前面加上\o  或者\ox  则把字母变成了数字?我刚学对这些数字转换什么的模模糊糊的,能不能给我好好讲讲,或者告诉我这些知识点的名称,我好查资料,现在都不知道,这些是什么,麻烦了
追答
C语言中常数的书写,16进制是以0x引导的。不是字母ox
x是hexdecimal的意思,就是十六进制。
同样0b表示二进制,binary的意思。
为什么要使用数字0引导,这是因为变量和标识符,按规定都是用字母等开头。用数字0表示,这个是数字。
听不清啊
高粉答主

2015-03-21 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
你说的没错。你直接看sizeof("35e")就知道了,这时是4。说明这是字符串,它的末尾还有一个'\0'。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式