소프트웨어/C++
[2004년 중간 5번] 최대 / 최소값 - 포인터 / 삼항 연산자
카켈
2007. 2. 26. 16:47
목적
- 포인터를 이해한다.
- 삼항 연산자를 자유롭게 쓴다.
문제
#include <iostream>
using namespace std;
int main(void)
{
float afIn[4] = {0};
int i = 0;
float *fMax,*fMin;
fMax = fMin = &afIn[0];
cout << "네 개의 실수를 입력하세요 : ";
while(i < 4)
{
cin >> afIn[i];
fMax = (*fMax < afIn[i] ? &afIn[i] : fMax);
fMin = (*fMin > afIn[i] ? &afIn[i] : fMin);
i++;
}
cout << "최소값 : " << *fMin << endl << "최대값 : " << *fMax << endl;
return 0;
}
해설
- 포인터로 *[변수] 선언시 [변수] 는 그 값이 저장될 주소(reference)를 가리키며 *[변수]를 하면 그 저장된 주소로 가면 가지고 있는 값을 가리킵니다.(derefernce)
- 포인터 아닌 일반 변수가 포인터에서 쓰는 주소를 저장하고 싶으면 앞에 & (reference) 연산자를 붙이면 됩니다. C++ 에서 새로 추가된 기능 중 하나 입니다.
- 삼항 연산자는 많이 풀어 봐서 이해 되실 겁니다. 유사 예제들을 검색해서 보시기 바랍니다.
참고
-유사문제