
main() { char a[]="abcdefg",b[10]="abcdefg"; printf("%d %d\n",sizeof(a),sizeof(b));}请解释执行结果
展开全部
结果为:8 和10
一个字符占一个字节,sizeof就是求所占的字节数的。
a编译会自动在后面添加一个'\0'表示结束符,所以为 7+1=8。
b是一个静态数组,里面的10表示其元素的个数,系统分配的时候按照这个来分配。
一个字符占一个字节,sizeof就是求所占的字节数的。
a编译会自动在后面添加一个'\0'表示结束符,所以为 7+1=8。
b是一个静态数组,里面的10表示其元素的个数,系统分配的时候按照这个来分配。
展开全部
输出8和10;
a里面有8个字节,b有10个字节。
b指定了10位的char型的数组。
char占1个字节所以b的长度就是10个字节;
a则是动态的指定了abcdefg\0八位字符。所以数组a是8位。占8个字节
a里面有8个字节,b有10个字节。
b指定了10位的char型的数组。
char占1个字节所以b的长度就是10个字节;
a则是动态的指定了abcdefg\0八位字符。所以数组a是8位。占8个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
6 + 1(‘\0’)
10 固定了
10 固定了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
屏幕输出 7 10换行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询