c语言结果为何这样求解释 50
1个回答
展开全部
sizeof(a)运算符是根据a的类型计算其所占的内存空间,a可以是类型名,也可以是变量名。
sizeof(str)是计算字符数组str所占空间,并不考虑其内容的长短,所以根据定义是字符串长度+字符终止符,这里返回17。
sizeof(p)是计算指针变量p所占空间,而不是指针所指空间的大小。一个指针变量在32位系统中,只占4个字节,所以这里返回4。
strlen(p)是求字符串长度的函数,返回变量p所指字符串的长度,不包含终止符。所以这里返回的是17-1=16个字符。
sizeof(str)是计算字符数组str所占空间,并不考虑其内容的长短,所以根据定义是字符串长度+字符终止符,这里返回17。
sizeof(p)是计算指针变量p所占空间,而不是指针所指空间的大小。一个指针变量在32位系统中,只占4个字节,所以这里返回4。
strlen(p)是求字符串长度的函数,返回变量p所指字符串的长度,不包含终止符。所以这里返回的是17-1=16个字符。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询