int main(void){
int n1;
printf("정수 : ");
scanf("%d",&n1);
if ( 0 < n1 < 10)
printf("자릿수 : 1\n");
else if( 9 < n1 < 100)
printf("자릿수 : 2\n");
else if( 99 < n1 <1000)
printf("자릿수 : 3\n");
else( 999 < n1 < 10000);
printf("자릿수 : 4\n");
system("pause");
return 0;
}
숫자를 입력하면 자릿수가 나오는건데
자릿수 : 1
자릿수 :2
자릿수 :3
자릿수 :4 이렇게 다나와버리네요 뭐가잘못된거죠?
printf(" "); 여기 " " 안에다가 써놓은게 그대로 나오고 있구만 뭐가 잘못된거냐고 물으시면 곤란..
printf("자리수 : %d", (int) log10(n1)+1);
혹은 / % 연산자로도 가능
77입력햇으면 자릿수 2만나와야 하는거 아닌가요? 값이저거니깐 아닌건 넘어가고 맞는거만 들어가니깐요 ㅠㅠ
근데...if문 저따구로 써도 됨?
if(0 < n1 && n1 < 10)
이런식으로 써야하지 않음?
아직 수준이 얼마안되서 저렇게 log 같은거 쓰면 배낀거 들켜요 ㅠ
아... 기억났다.
if(a < b < c ) 이런식으로 쓰면 안됨
a < b 를 비교해서 나오는 값이 true, false 값인데...true는 1, false는 0 임. 그러니까... a, b 값에는 관계없이...0, 1이니까.. c보다 작아서 다 튀어나오는거
무조건 부등호는 하나만 써야됨ㅋ
ㄴ그건 아님
저 로직에서 말입니다.. 부등호 하나씩 써서 &&나 ||로 묶어줘야 올바르다는 말이였음
그르면 어떻게 해야하죠 머리가 터질것같습니다
뭐나도뉴비긴하지만~
ㅇㅇ님 그럼 밑에 제 글 scanf 오류 좀 봐주세요 저거 왜 저러지
염병..