C语言中------printf("%d\n" *(p++));前面的语句省略,那么这个*(p++)是什么意思啊?

在这个语句执行输出时这个*(p++)执行顺序是什么?

*(p++) 的意思就是 (p++) 是地址加1 但是因为++在后面 所以是先取值 地址再加以
,比如说 p="abc" printf("%d\n" *(p++)); 输出是a 因为是 %d 输出应该是104 地址指向 b
如果你再来一个 printf("%d\n" *(p++)); 这个时候地址++ , 输出 b
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-21
给你个例子:
取当前指针的字符,然后p指针在跳一字节,比如说 p="abc";
*(p++) 取 'a' 然后p 指针指向 "bc"本回答被提问者采纳