배열을 이용한 10진수를 2진수로 바꾸는 코드를 짰는데요..
해늘
2023.04.01
질문 제목 : 10진수를 2진수로 다 저장을 했는데 출력하는 과정에서 for문이 조금 의아합니다.코드 보시면 주석으로 달아놓은 for문에 j=i-1로 해주고 j--를 함으로써 배열숫자가 제일 큰것부터 출력 되잖아요?
그런데 왜 j=i 가 아닌 j=i-1 인지 잘 이해가 안됩니다... 간단한듯 하면서 머리가 아프다고 할까요^^;;
간단하게나마 설명해주시면 감사하겠습니다 (__)!!
ps)도움을 받으면서 짠거라서 묻는거에요~질문 내용 :
#include stdio.h
int main(){
int i=0,n=0,j=0,k=0;
int binary[32]={0};
int temp=0;
printf(10진수를 2진수로 바꾸는 프로그램이다 \n);
while(1){
printf(10진수 수를 입력하시오 (종료-1):);
scanf(%d,&n);
for(i=0; i32 && n0 ; i++ ){
binary[i]=n%2;
n=n/2;
}
for(j=i-1; j=0; j--) //이부분이 질문입니다.
printf(%d,binary[j]);
printf(\n);
if(n==-1)
break;
}
}
-
어른처럼
그 위 for문이 i++ 한 후에 조건을 만족하지 못하고 종료하게 되잖아요?
그래서 i-1 부터 해주는 것입니다.