목적
  - 단항 연산자에 대해 연습한다.
  - 문자열을 입력 및 조합한 후 출력한다.

문제
사용자 삽입 이미지
코드

#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 : 증감 연산자



Posted by 카켈