inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

C 와 C++ 을 동시에 배워보자 - 두들낙서의 C/C++

50강. C++ 스타일 기본 문법

선생님, 코드 한번 봐주세요.

해결된 질문

203

최윤성

작성한 질문수 15

0

#include <iostream>

using namespace std;

void swap(int& a, int& b);
void swap(int* (&a), int* (&b));

int main()
{
 int a, b;
 int* pa = &a, * pb = &b;
 cout << "정수를 입력해보자.";
 cin >> a;
 cin >> b;
 cout << "정수 : " << a << " " << "정수 b : " << b << endl;

 swap(a, b);
 cout << "swap후의 값." << endl;
 cout << "정수 a : " << a << " " << "정수 b : " << b << endl;
 cout << "포인터 a : " << pa << " " << "포인터 b : " << pb << endl;
 cout << endl;

 swap(pa, pb);
 cout << "swapp후의 값." << endl;
 cout << "정수 a : " << a << " " << "정수 b : " << b << endl;
 cout << "포인터 a : " << pa << " " << "포인터 b : " << pb << endl;
}

void swap(int& a, int& b) {
 int temp = a;
 a = b;
 b = temp;
}
void swap(int* (&a), int* (&b)) {
 int *temp = a;
 a = b;
 b = temp;
}

 

이렇게 작성했는데요, 1과 2를 출력하면

"2 1" 로밖에 출력이 안됩니다.

함수로 바뀐 값들은 출력이 안됨은 당연하고, 문자열도 전부 출력이 안됩니다.

왜이런거죵?? ㅠㅜ

c C++

답변 1

0

젓인

#include <iostream>

using namespace std;

void swap(int& a, int& b);
void swapp(int *a, int *b);

int main()
{
	int a, b;
	int* pa = &a, *pb = &b;
	cout << "정수를 입력해보자.";
	cin >> a;
	cin >> b;
	cout << "정수 : " << a << " " << "정수 b : " << b << endl;

	swap(a, b);
	cout << "swap후의 값." << endl;
	cout << "정수 a : " << a << " " << "정수 b : " << b << endl;
	cout << "포인터 a : " << pa << " " << "포인터 b : " << pb << endl;
	cout << endl;

	swapp(pa, pb);
	cout << "swapp후의 값." << endl;
	cout << "정수 a : " << a << " " << "정수 b : " << b << endl;
	cout << "포인터 a : " << pa << " " << "포인터 b : " << pb << endl;
}

void swap(int& a, int& b) {
	int temp = a;
	a = b;
	b = temp;
}
void swapp(int *a, int *b) {
	int temp = *a;
	*a = *b;
	*b = temp;
}

float 출력관련 질문

0

269

1

마지막 2차원 배열포인터 예제 직접 만드신건가요?

1

556

0

2차원 배열 관련 질문입니다.

0

385

0

scanf 문의

0

414

1

visual studio 2019버전 max함수 헤더파일없이

0

616

1

결과값 다른것에 대해 질문해도될까요.

0

312

0

#define 형식지정도 컴퓨터가 알아서 하나요?

1

634

1

이렇게 하면 이상한 결과가 나옵니다

0

395

1

double

0

240

1

2차원 배열 포인터 연습 해보는 중에

0

291

0

ex1.cpp 파일을 찾을 수 없다고 합니다.

1

267

1

포인터 선언

0

217

0

strcpy를 strcpy_s로 바꿔야 할 것 같습니다.

1

419

1

bool r.....

0

192

0

정수와 실수를 모두 사용할수 있는 변수가 있나요?

0

309

0

마지막 문제 질문입니다.

0

250

0

1번 문제 관련 질의

0

325

1

double 변수 출력 시의 오류에 관하여

0

301

0

scanf unsafe에러가 나네요.

7

294

1

call-by-reference에 대해서 질문있습니다

2

249

0

소스코드

0

364

0

정적 변수의int Color::counter부분에 대해

0

217

0

"" 와 '' 의 차이

0

200

0

클래스 관련해서 질문있습니다!

0

252

1