NGC281964 2022-09-12 11:01 采纳率: 76.9%
浏览 30
已结题

这里的+是代表什么意思

1.这里的+是代表什么意思(我刚入门),2.+除了正常的运算、++外,还有什么用途。麻烦帮忙解答一下

 

  • 写回答

4条回答 默认 最新

  • 日向晚,声声慢 2022-09-12 11:55
    关注

    以%s格式输出的时候,你需要给它起始地址。
    这里得说数组名的概念,数组名是数组首元素的地址(存在两种例外),地址加减,其实就是指针的加减,指针加减整数又与指针的类型有关,因为这里是char类型,所以的话,每次加一跳过一个字节。
    "12345678"这个是常量字符串,在printf里相当于给你的是1的地址,你在后面加减整数的话,也是得根据类型。
    为什么是1的地址呢,
    你可以这样去验证:char* a="12345678",以%p的格式打印a,在去监视里看下,是不是1的地址。

    知道了上面这些,那问题就很简单了

    b+8,b是首元素的地址,地址的类型是char*,那每次加1,跳过1个字节。那这里+8就跳过8个字节。
    下面一个是常量字符串相当于是1的地址,那加4,就向后偏移4个字节

    更详细的你可以看一下我的博客中的,盘复数组和指针的那些知识

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日

悬赏问题

  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了
  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能