Written

문자열 입력받기. 본문

C++ & C#

문자열 입력받기.

steeringhead 2022. 10. 11. 17:08

알고리즘 문제를 풀다보면 자주 헷갈리는 부분이 있어 정리해봅니다.

 

입력으로 문자열을 받을때 string배열에 받을때와 char배열에 받을때 저장되는 방식이 다릅니다.

 

다시 생각해보면 char는 말그래도 하나의 문자 (Ex. 'a')를 뜻하기 때문에 어떻게 보면 당연한 부분이지만

자주 헷갈렸었는데 , 이번에 이렇게 정리를 함으로써 앞으로는 안 헷갈릴 수 있을것 같습니다.

 

1) 

string s1[50];

cin >> s1[0]   

 

 // 반드시 인덱스 번호를 지정해서 받아야합니다.  그냥 cin >> s1으로 받으려하면 오류발생.

 // 이렇게 받으면 띄어쓰기 전 까지의 입력 내용을 s1에 저장합니다.

 // 콘솔에 my name is 를 입력하면 my만 s1[0]에 저장됩니다.

 

 

 

2)

char a1[50];

cin >> a1 

 

// cin >>a1[0] 혹은 cin>>a1 두개의 형태 모두가 가능합니다.

// a1으로 입력을 받으면 , 띄어쓰기 전까지 하나의 문자 씩 따로 a1배열에 순서대로 입력해줍니다.

// 당연하게도 char는 문자 하나를 뜻하기 때문에 a1[0] 하나에 두개가 저장되지 않는것이죠.

// 그래서 asdfgh를 입력하면 a1의 0번 인덱스부터 5번인덱스까지 문자 한개씩을 저장해줍니다.

 

 

 

문자 하나하나를 따로 배열에 저장 할 수 있다는 점이 은근히 알고리즘 문제풀이에 아이디어로 쓰일 수

있기때문에 이 부분은 확실히 짚고 넘어가서 헷갈리지 않는 것이 좋을 것 같습니다.

 

 

 

 

 

◆ 개인적으로 공부한 내용을 정리하며 적은 부분들이기 때문에 잘못된 정보가 존재할 수 있습니다 !

틀린 부분은 댓글로 지적해주시면 감사하겠습니다 !

 

Comments