自学c语言 请问第二个图为什么会出现这个结果的,求大神解释。

如题所述

*qq++
等同于 *qq; qq++
两句
执行完你的qq指向了一个没值的空间 所以。。。
而你前面的(*qq)++用括号指定了++是和*qq结合的而不是qq
所以相当于先取了qq指向地址的值,再将这个值++追问

等同于*qq;qq++这个我看不明白

*qq不是a吗

追答

就是说你执行*qq++之后 你的qq就不是指向a了,而是执行了a地址+1的地址了,而那个地址根本就没有赋值啊

追问

不是先赋值再自增吗,就是*qq,*qq++

追答

是先取值 再自增,但是你自增的不是指向地址的值 而是地址啊
* ++ 同级运算符号 符号结合有结合顺序,从右往左,所以和++结合在一起的是qq啊
qq++ 改变的是地址不是值

温馨提示:答案为网友推荐,仅供参考
相似回答