char a;
cin>>a에 아스키 코드 A에 해당하는 10진수 65를 저장하고
cout<<a로 출력하니 A대신에 6이 출력되는데 이 6은 뭘 말하는거죠
문자 6인줄알고 아스키 코드표 해당하는 10진수보니 문자 6은 10진수로 54이고
난 a에다가 정수 넣고 출력하면 c언어랑 달라서 알아서 10진수 65에 해당하는 수를
알아서 형변환해서 출력해주는 줄 알았는데 이게 아니네...원래 이런건가..이 6이 의미하는건 뭘말하는거임? 쓰레기값?
char a;
cin>>a에 아스키 코드 A에 해당하는 10진수 65를 저장하고
cout<<a로 출력하니 A대신에 6이 출력되는데 이 6은 뭘 말하는거죠
문자 6인줄알고 아스키 코드표 해당하는 10진수보니 문자 6은 10진수로 54이고
난 a에다가 정수 넣고 출력하면 c언어랑 달라서 알아서 10진수 65에 해당하는 수를
알아서 형변환해서 출력해주는 줄 알았는데 이게 아니네...원래 이런건가..이 6이 의미하는건 뭘말하는거임? 쓰레기값?
입력한 65가 알아서 형 변환되서 그중 첫째 문자인 6이 들어간거같은데
‘6’
cin으로 입력 말고 a = 65; 로 직접대입해서 출력해바
A초기화 안해씀 쓰레기값마즘
ㅇㅇ // 이건 또 제대로 출력이 ㄷ되네 머때문이지..
개노답국좀 // a 초기화를 안해도 입력으로 65라는 정수를 a에 대입했는데 왜 일케 나오는거지?;
아 입력하셨군 입력이면 해당 자료형에 맞게 변환해서줌ㅎ 76하면7나올것
개노답 // 형님 근데 이해가 안가는데 65면 형변환해서 A가 나와야할거고 76이면 아스키코드보니 L인데 왜 6하고 7이 나오는거죠 그게 이해가 안가서요
cin이 a가 char형 인 거 알고 입력값을 숫자로 본 것이 아니라 문자로 봐서 '6'이 입력 된 것
Cin이라그럼 스캔에프처럼 d,s이런걸로 형식 얘기 안했는디 님이 문자 65인지 아닌지 컴이 어찌암 그냥 문자로6과5를 a에 넣으려고 시도할거임 a메모리주소로 호출할줄알면 a다음번지 불러보시면 될것
원하는 결과를 얻고 싶으면 scanf("%d", &a); 해라..
컴파일러가 자료형 알아서 알맞는 오버로딩 함수로 보내준다
char a, b; cin >> a;cin >> b;에 65 입력하면 a, b각각 뭐가 들어 갈 것 같니
개노답 // 65를 입력하면 문자 6이랑 5로 인식하나요 정수가아니라?;
얌심이 //아...그럼 얌심님 말씀대로 cin>>a cin >>b해서 a에 65하면 이걸 정수로 안보고 char형이니까 65를 형변환해서 문자로 6이랑 5로 보고 a에 6넣고 문자니까 끝난거고 5는 버퍼에 남으니 그다음 b에 저장된다 이말이죠?
ㅇㅇ
얌심 or 개노답 // 방금 디버깅으로 형님들 말대로 65입력하니 문자 6이 저장된거고 그 값이 10진수로 54라는것도 확인했음..근데 버퍼에 5남은 것도 디버깅으로 확인해 보고싶은데 이건 걍 변수하나 더해서 하는방법 밖엔 없나요 그냥 디버깅으로는 메모리에 남아있는거 확인불가??
버퍼에 남은걸 확인 하는 방법 char a;int b;cin >> a;cin >> b; 하고 65 입력하면 a에는 '6' 들어가고 b에는 문자가 아닌 5 들어간다
아마 직접메모리검색으로 보긴안될것 정 원하면 char arr [2]하나 놓아드리고 간접적으로 보셈빔
얌심 // 형님 형님이 방금 버퍼얘기 꺼내셔서 든 생각인데 65를 입력했을때 정확히는 65하고 Enter 키잖아여 그런데 cin은 빈칸,탭 ㅋ캐리지 리턴과 같은 화이트스페이스가 있어야 문자열이 끝난걸로 간주하는데. 이경우에는 문자이기때문에 논외인가요
개노답 // 감사합니다 형님
질문하는게 65에서 왜 6만받고 5는 안챙기느냐 같은데 65는 결국 문장이니깐 a는 문자를 저장하기위해 6과5를 저장하는데 이때 5의 위치는 따로 잡힌것(배열)이 없으니까 양동이로 따지면 5를 흘린셈이고 a를 호출하는건 문자를 호출하는거니깐 6만 불리고5는안부름
개노답 // 음 제말은 위에서도 말했지만 cin은 화이트페이스가 빈칸,탭 등 화이트페이스가 있어야 문자열이 끝나걸로 간주하는데 65를 입력하면 char a 에서 a는 문자만 받을 수있으니까 6만따로 온것인지? 전 65를 입력하면 6뒤에는 끝나는 화이트스페이스가 없으니까 난 65까지 같이 와야하는것 아닌가에 대한 질문이었음, 근데 답해주신게 이거에 대한 답이 될 수있죠?
ㄴㅇㅇ 방금 떠오른건데 배열말고 순수하게 65를보려면 프린트f 로%s+ a호출해보시면 원하던65와 Eof를 찾는 몸부림을 볼수 있을듯
감사합니다