Leftside님 안녕하세요.
출력에 대한 내용은 직접 코드를 작성해서 실행해보시면 답이 나올탠데요
아마 그러지 못하는 환경이거나 왜 그렇게 나오는지에 대해 궁금해서 질문 올리셨을꺼라 생각합니다.
일단 연산자가 앞에 붙는것과 뒤에 붙는 것이 조금 다르게 동작해요.
연산자가 앞에 붙으면 먼저 계산을 하고 값을 사용한다고 생각 하시면 되고
연산자가 뒤에 붙으면 값을 사용하고 계산을 한다고 생각 하시면 돼요
그래서 printf("%d\n", --(*p)); 같은 경우는 6에서 1을 감소시키고 값을 사용하기 때문에 5가 출력이 되고
printf("%d\n", (*p)++); 같은 경우는 1이 감소된 값인 5가 출력이 되고 1을 증가 시키게 됩니다.