오류수정좀 ㅠㅠ
하린
#includestdio.h
void wright(int a, int b);
void change(int *a, int *b);
void print(int a, int b);
void main()
{
int a,b;
wright(a,b);
change(&a,&b);
print(a,b);
}
void wright(int a, int b)
{
int c;
int d;
printf(두개의 정수를 입력하세요);
scanf(%d, &c);
scanf(%d, &d);
}
void change(int *a, int *b)
{
int c,d; //c d 라는 변수 선언
int *p1=&c; // p1은 포인터로 int 를 가리키고 거기안에 c의 주소를 대입
int *p2=&d;
int *temp;
temp=p1;
p1=p2;
p2=temp;
}
void print(int a, int b)
{
int c,d;
int *p1=&c;
int *p2=&d;
printf( %d %d,&c,&d);
}
ㅠㅠㅠ 님들 제가 이거 두개의 정수를 입력받아서 나중에 자리를 바꾸려고 하는데요...
자리를 바꿀때 자꾸 이상한값이 뜨네요 ㅠㅠ
뭐가 잘못됬나요?? ㅠㅠ(저장을 cpp로 해서 한번 해보셔도 되요..)
-
슬찬
인자값으로 받은 변수는 이름 그대로 사용 가능합니다. 따로 선언할 필요가 없는 거죠.
-
채꽃
main에서 선언하신 int형 변수 a,b에 숫자를 입력받아 서로 바꿔주려 하시는것 같은데,
올려주신 소스에서는 a,b는 초기화도 되지않았고, 어떤곳에서도 사용되지 않았습니다.
a,b를 인자값으로 받은 두개의 함수에서,
a,b에 숫자를 입력받고,(write함수)
a,b의 숫자를 서로바꿔주는(change함수) 구문을 짜셔야하는데 a,b는 인자값으로 받기만 하셧지 정작 사용하질 않으셨네요