sizeof计算字符串长度不对?

想问以下的i=sizeof(*p);是否是计算字符串中第一个元素的长度?如果是,为什么i的值是1char*p;p="你";i=sizeof(*p);printf("%d"... 想问以下的i=sizeof(*p);是否是计算字符串中第一个元素的长度?如果是,为什么i的值是1
char *p;p="你";
i=sizeof(*p);
printf("%d",i);
展开
 我来答
piestkj
2015-07-26 · TA获得超过928个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:618万
展开全部
一般情况下,sizeof的值编译器就能算出来。编译器知道p是char *类型的,所以*p就是char类型。因为char类型占1个字节,所以sizeof(*p)就是1。
另外,如果你想输出*p,你会得到一个奇怪的结果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式