#include <stdio.h>
void func1(int *i)
{
*i++;
}
void func2(int *j)
{
(*j)++;
}
int main()
{
int i = 100, j = 100;
func1(&i);
printf("%d \n", i); // 출력값은 100
func2(&j);
printf("%d \n", j); // 출력값은 101
return 0;
}
후위 증가 연산이 뒤늦게 나타나는 건가 싶어서
func2를 func1이랑 똑같게 *j++;로 바꿔봤더니 출력이 100 100 이더라고
그니까 이건 아닌 거 같고
연산자 우선순위 관련해서 나타나는 문제 같은데 설명해줄 수 있는 갤러 있음?
그런 애매한 표현은 지양하는게 좋습니다라고 배웠습니다
그럼 어느 쪽이 덜 애매한 표현이야? (*j)++ ?
http://y216100.blog.me/220058214688
변수를 i로 써서 못 찾았던 거네 ㅋㅋㅋ 고마워
*(x++) == *x++라고 보면됨. 연산자 우선순위 외우는건 추천하진않지만, 많이쓰다보면 익숙해져서...