为什么*pa++是首位赋值,而*(pa+2)却是1+2位赋值?

来源:7-5 左值和右值【只需记住这两点】

Yarant

2022-04-05

https://img.mukewang.com/szimg/624ba652084290fb10000563.jpg

问题描述:
*pa++没听明白

写回答

2回答

慕斯6088333

2022-09-08

 *pa++=3 是先做运算再++, 所以是给index =0 的 数组元素做修改, 
 *(++pa)= 3是先自增(++)再 赋值, 这样就是对index = 1的数组元素做修改,


其实最好是写成两行代码比较好, 比如 对于第一种情况拆写为如下两句话:
*pa =3; pa = pa + 1;

 

1
0

bennyhuo

2022-04-05

你要知道++在后面表示运算后自增

0
0

C语言系统化精讲 重塑编程思想 打造坚实的开发基础

如果通向大牛的道路有捷径,那就是先学好C语言

2208 学习 · 853 问题

查看课程