C++

while(cin >> x)

GunwooYun 2024. 1. 20. 18:51

제목의 코드 너무 간단하다.

근데 이해가 안되서 미칠뻔 함. 내 iq의 재발견.

코드를 쓰기도 참 거시기하지만, 대충 이런 느낌이다.

#include<iostream>

int main()
{
	int x;
	while(cin >> x)
	{
		cout << "read: " << x << endl;
	}
	return 0;
}
 
 

while 문에서 조건이 입력을 받은 값을 x에 넣는건데, 어떤 경우가 false인지..

 

일단 해보니 값이 저장되는 변수 x의 데이터타입에 따라서 true, false가 나뉘어지는 것 같다.

 

만약, int 형일경우, 정수 범위의 값만 받고, 나머진 false처리된다.

char형일 경우, 문자로 표현될 수 있는 값은 모두 true고 나머진 false 인 것 같다.

 

뭔가 이런 느낌인 듯 하다.

 

완전히 정확하진 않지만, 간단히 테스트한 결과다. 쉽지 않네?