C和B为什么是错误的,*p这样写不都是先指向再++吗?p++加不加括号不应该先执行—>吗?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

运算符的优先级不同
B:中 ->的优先级 大于 * ,*p->str++ 相当于 *(p->str)++
C:中 -> 的优先级大于 ++
参照:
https://blog.csdn.net/sunshihua12829/article/details/47912123