day8C基础

  

len 0=12;len1=11;len2=4;len3=12

len0是计算整个字符串的字节大小包括\0

len1是计算字符串的长度到\0结束

len2传参arr形参是一个指针32位的大小为4个字节

len3总的字符数组大小除以第一个元素类型的大小得到的也是12

*(a+1)的值是2,a是数组首地址,加1偏移了一个int的字节,然后取值

*(ptr-1)的值是5,(&a+1)让a首地址偏移了一行5个元素的地址,此时地址在arr[4]之后

int*使(&a+1)从按行偏移转换按位偏移所以*(ptr-1)使地址回到的arr[4]的地址

196

char有符号值的大小在-128~+127之间,当a[i]的值小于-128时候,会等于127

strlen的标志是与到\0结束计算,所以a[i]等于-60到-128循环69次后到127

127到1循环127次,此时继续打印a[i]的值等于0;然后继续循环a[i]等于-128,

但strlen打印char[1000],计算69+127后就会遇到0停止计算

13  13

*(ptr++)+=100将首地址对应的元素赋值成111

ptr此时对应的是12的地址

输出是*(++ptr)前缀运算使ptr的地址对应的值为13,使ptr的地址发生改变所以*ptr的值也是13

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值