|
초보자 님이 쓰신 글 :
: 두수 x,y값을 입력받아서 x,y 값을 교환하는 프로그램을 함수를 이용하여 작성하라는
: 문제 인데요...
:
#include <stdio.h>
void swap(int& i, int& j);
int main()
{
int x,y;
printf(" x,y 값을 입력해라... \n");
printf(" X= \t"); scanf("%d",&x);
printf(" Y= \t"); scanf("%d",&y);
swap(x,y);
printf(" 바뀐 값 : X=%d\t Y=%d\n",i,j);
}
void swap(int& i,int& j) // C++에서는 &만 추가하면 됩니다.
{
int k;
k=i;
i=j;
j=k;
}
: 이렇게 하니깐
: --;... 틀렸다고...
: 이것 실제로 값이 바뀐게 아니라고 하더군요--;...
: 출력값만 바뀌어 보이는거라고 무슨말인지 T.T
:
: 실제 값까지 바뀌게 하려면 어캐해야 하죠... 힌트나...
: 방법좀 알려주세요.
값에 의한 호출(call by value), 참조에 의한 호출(call by reference)
의 차이입니다.
자세한 것은 책이나 인터넷을 검색해보세요.
또한 위의 방식은 C++에서 사용하는 방식입니다.
C에서는 비슷하지만 약간 다른 방법을 사용합니다.
: 그리고 재호출 프로그램을 만들래서 만들었었는데... 거기서
'재호출'이라... recursion을 이렇게 번역하는 건 첨 보네요.
보통 '재귀호출' 또는 '순환호출', '되부름'이라고 하죠.
그 중에 '재귀호출'이 가장 정확한 번역이라고 생각합니다.
검색해보시길...
수학에서 말하는 '수학적 귀납법'에서 나온 개념입니다.
: A라는걸 15번 출력후 종료되는걸 만들라고 해서 만들었는데-=;.. 역시 그것도...
: 다른방법으로 하라고 하면서 T.T 이제 배워가는데... 뭘 하라고 알려주지도 않고
: 다른방법으로 해라... 라고--; 제가 이렇게 했거든요...
그건 스스로 방법을 찾아서 하란 뜻이라고 생각하세요.
아마 님은 대학교 저학년이신 것 같은데요... 대학에서의 학습 방법은 원래가 그런 겁니다.
: #include <stdio.h>
: main()
: {
: int a;
: for (a=1; a<=15 ; a++)
: printf("And ye shall know the truth, and the truth shall make you free.(John 8/32)");
: }
:
: --;
: 질문이 2개나 되는군요...T.T
: 2중 1개라도 도움을 주세욤...
|