질문을 드리겠습니다
수리
#include stdio.h
int main(void)
{
int *ptr1 = 0;
char *ptr2 = 0;
double *ptr3 = 0;
printf(%d번지 %d번지 %d번지\n,ptr1++,ptr2++,ptr3++);
printf(%d번지 %d번지 %d번지\n,ptr1,ptr2,ptr3);
return 0;
}
이 소스에서 ptr1 ptr2 ptr3를 하면은 0이 증가 되어서 저장된 메모리의 주소를 출력하는것이 나와야 할텐데
안나옵니다...좋은 답변 부탁드립니다
#include stdio.h
int main(void)
{
int arr[5] = {1,2,3,4,5};
int *parr=arr;
int i,temp;
for(i=0; i5; i++)
printf(출력전의 배열 값:%d\n,parr[i]);
for(i=0; i4-i; i++)
{
temp = parr[i];
parr[i] = parr[4-i];
parr[4-i] = temp;
}
for(i=0; i5; i++)
printf(%d\n,parr[i]);
return 0;
}
그리고 이 소스는...배열의 각 위치를 바꿀려고 했는데 위치 바꾸는 문장에서 중괄호를 안쳤을때는 순서가 안바뀌고 쳤을때는
바뀌는데 차이를 잘 모르겠습니다 좋은 답변 부탁드립니다
-
수예
그래서...0이 저장된 공간의 주소가 출력이 되어야 하는것 아닌가요? printf 문에서
-
서희
ptr2에는 어딘가 에 0을 저장한 공간의 주소를 저장하고 있을 것입니다
-
유리
char* 문자열은 = 으로 값을 넣을 수 없다고 말을 했습니다
그런데 예외가 있습니다
선언과 동시에 값을 넣게 되면 들어갑니다
즉 char* ptr2=0; 이것은 문자 0으로 초기화 한것입니다