목적
- 단항 연산자에 대해 연습한다.
- 문자열을 입력 및 조합한 후 출력한다.
문제
#include <iostream>
using namespace std;
int main(void)
{
char sIn_a[255] = {0};
char sIn_b[255] = {0};
int i, j;
i = j = 0;
cout << "첫번째 문자열 입력 : ";
cin.getline(sIn_a,255,'\n');
cout << "두번째 문자열 입력 : ";
cin.getline(sIn_b,255,'\n');
cout << "첫번째 문자열 : ";
while(sIn_a[i] != 0)
{
cout << sIn_a[i];
i++;
}
cout << endl;
cout << "두번째 문자열 : ";
while(sIn_b[j] != 0)
{
cout << sIn_a[j];
j++;
}
cout << endl;
cout << "병합된 문자열 : ";
cout << sIn_a[i] << sIn_b[j] << endl;
cout << "뒤집힌 문자열 : ";
while(j-- > 0)
cout << sIn_b[j];
while(i-- > 0)
cout << sIn_a[i];
cout << endl;
return 0;
}
해설
- 이전 문제들에도 문자열 병합과 출력이 있어서 약간의 변형을 했습니다. cstring / string.h 를 쓰지 않고 병합 출력을 하였습니다.
단항 연산자(unary operator)는 피연산자가 하나면 되는 연산자 입니다. 피연산자는 변수여야 하며(그 자체로는 변하지 않는 l-value) 앞에 붙었느냐 아니면 뒤에 붙었느냐에 따라 달라 집니다.
[피연산자]++ => 쓰는 라인에서는 증가가 없지만 다음 줄에서는 [피연산자]가 1 증가 합니다.
[피연산자]-- => 쓰는 라인에서는 증가가 없지만 다음 줄에서는 [피연산자]가 1 감소 합니다.
++[피연산자] 쓰는 라인에서는 증가가 되며 그 줄 부터 [피연산자]가 1 증가 합니다.
--[피연산자] 쓰는 라인에서는 감소가 되며 그 줄 부터 [피연산자]가 1 감소 합니다.
자세한 사항은 키로그를 참조 하시기 바람니다.
참고
- 유사 문제
- http://www.winapi.co.kr/clec/cpp3/28-3-2.htm : 증감 연산자