sizeof(a = b + 1)的结果是什么?

既然sizeof的操作数可以是表达式,那么它求出的“表达式的长度”是怎么算的?... 既然sizeof的操作数可以是表达式,那么它求出的“表达式的长度”是怎么算的? 展开
 我来答
百度网友d111d87
2012-04-01 · TA获得超过340个赞
知道小有建树答主
回答量:130
采纳率:100%
帮助的人:92.1万
展开全部

看下面代码:

#include <stdio.h>

int main(int argc, char * argv[])

{

char b[10] = "abcdefg";

    char a;

int a1;

printf("如果a是char型的:\n");

printf("sizeof(a) : %d\n",sizeof(a));

printf("sizeof(b+1) : %d\n",sizeof(b+1));

printf("sizeof(a = b+1) :%d\n",sizeof(a = b+1));

printf("\n");

printf("如果a是int型的:\n");

printf("sizeof(a1) : %d\n",sizeof(a1));

printf("sizeof(a1 = b+1) :%d\n",sizeof(a1 = b+1));

return 0;

运行结果截图:

38051697
2012-04-01 · TA获得超过6497个赞
知道大有可为答主
回答量:1万
采纳率:0%
帮助的人:6030万
展开全部
正如所说,count是读取字节个数,但是由于你的变量b是整形的,只能接受一个数据,也就是说无论你把这个值改多大结果都应该是一样的! ,yCBRWj
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兰魔战魂
2012-04-01 · TA获得超过105个赞
知道答主
回答量:97
采纳率:25%
帮助的人:26万
展开全部
sizeof()函数的意思是输出括号内的变量所占的内存空间。这里就是a的内存空间,如果定义int a;输出就是2.与a=多少无关。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
roaming_sheep
2012-04-01 · TA获得超过699个赞
知道小有建树答主
回答量:589
采纳率:0%
帮助的人:694万
展开全部
sizeof 只看表达式的数据类型
这里就是 sizeof(a)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kolonse
2012-04-01 · 超过33用户采纳过TA的回答
知道答主
回答量:176
采纳率:0%
帮助的人:89.2万
展开全部
a是啥类型? int 就是4 char 就是1 就看a的类型吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式