C언어 포인터 개그 문제.

void main()
{
 int *p,*q;
 int a=5;
 p=&a;
 printf(" p=%d \n *p=%d\n *p++=%d\n *p--=%d\n (*p)++=%d\n",p,*p,(*p)++,(*p)--,++(*p));
}


출력결과를 안찍어보고 정확히 무엇인지 안다면 당신은 포인터 초고수.
라기보다 컴파일러와 어느정도 쇼부가 되는 인물이랄까나 -_-;
에러 없는 코드임. 워닝도 없음. 정확히 답이 나옴.

by muzie | 2007/04/24 15:32 | 트랙백 | 덧글(2)

트랙백 주소 : http://muzie.egloos.com/tb/3134047
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by ㄱㄱㄱ at 2008/08/09 10:08
ㅋㅋㅋ 저 포인터주소를 어떻게알어 ㅋㅋㅋㅋ
Commented by muzie at 2008/09/07 09:56
먼소리신지요..포인터 주소야 당연히 알 수 있지요. p값에 어사인 되어있잖습니까..
단지 컴파일러마다 printf문을 찍을때 오른쪽부터 어사인 시킨다거나 아니면 각각을 독립적인것으로 본다던가 왼쪽부터 어사인시킨다던가 하는 차이가 있어서 생각하는거랑 값이 다르게 나올수 있단걸 보여주는 조금은 뻘짓을 써봤을뿐입니다만....

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶