%d로 +나 - 를 입력 받을때 질문입니다.
다이
2023.04.01
#include stdio.h
void main ()
{
int a;
do{
printf(\n입력 : );
scanf(%d,&a);
printf(출력 : %d\n,a);
}while(a!=0);
}
이런 간단한 소스를 작성했습니다.
이 소스에서 문자를 입력하면 무한루프를 돌게 될텐데요
그 이유가입력스트림에는 문자가 있는데 %d로 받질 못하니 문자가 소모되지 않고 스트림에 계속 남아 있어서
무한루프를 돌게 된다.
고 알고 있는데 이게 맞게 알고 있는건지 궁금해요...그리고 입력할때
+ 랑 - 를 입력하면 이상하게 무한루프에 빠지지 않더군요...
출력값은 -854993460 뭐 이런식으로 나오구요
문자가 아스키 값으로치면 전부 양수 일텐데 이런 값이 나오는 이유는 뭘까요...제일 중요한 질문이 +랑 - 를 입력하면 무한루프에 빠지지 않는이유..
이게 제일 궁금합니다
입력에 대한 출력 화면입니다.
-
하린
그 -8xxxxx 이런 이상한숫자를 박정수다님식으로 쓰레기값이라고합니다
-
빛나라
컴퓨터 문젠가 해서 딴 컴퓨터에 해봤는데도 이러더라구요..
문자 입력 예로 스샷 첨부해봤어요
제가 작성한 소스랑 -
사랑
??? 제가 방금 소스쳐서 해봤는데 -,+ 붙이건말건 제대로 출력되고 무한루프 제대로 돌던데요?