
#include <stdio.h>
#include <string.h>
int main()
{
int n,temp=0,i=0;
int jinsu[100];
scanf("%d",&n);
while(n/2!=0)
{
int jinsu[i++]=n%2;
n=n/2;
}
strrev(jinsu);
for(i=0; i<100; i++)
{
if(jinsu[i]=='\0') break;
printf("%d ",jinsu[i]);
}
return 0;
}
어떤수를 입력받으면 2진수로 변환되어 출력하는건데
이 원리가 아직맞는지는 몰르는데 컴파일 에러가 뜹니다.
error: variable - sized object may not be installed
일단, int jinsu[i++]=n%2; 코드가 잘못되었네요~
while 루프에서 jinsu 배열을 선언하면 루프에서만 사용가능한 지역배열이 됩니다.
즉, while 루프가 종료되면 jinsu 배열은 없어지게 됩니다...
일단 int를 빼 보세요 ^^