왜 이런 결과가나오는지모르겟어요..

질문 제목 : 이결과가 왜나오는거에요?질문 내용 : #include stdio.h
int main()
{
int arr[5]={1,2,3,4,5};
int *ptr=arr;
int i;
for(i=0;i5;i++){
*(ptr+1)+=2;
}
for(i=0;i5;i++){
printf(%d\n,arr[i]);
}

return 0;

}결과
1
12
3
4
5

저거 *(ptr+1)+=2; 이거말고 *(ptr+i)+=2이게 답인데 1하면 왜 12가되죠? ㅠㅠ

댓글 2

  • 미쿡 2026.04.05

    아.. 그렇군요!.. 변하지 않게되네요... 감사합니다

  • 이솔 2026.04.05

    i가 아니고 1이면

    *(ptr+1) 가 arr[1]를 5번 가리키게 되고

    거기에 2가 더해지니 12가됩니다.

C언어 다른 글

목록