일단 내장 함수를 쓰는 쉬운 방법은 sprintf를 쓰시면 됩니다.
sprintf( str, "%d", number );
좀 더 프로그래밍적인 방법으로는,
int i = 0;
while( number != 0 ){
str[ i ] = number % 10 + '0';
number /= 10;
i++;
}
strrev( str );
다른 방법으로는
int k = 1, t = number;
while( t != 0 ){ t /= 10; k*=10 };
for( int i = k / 10; i >0; i/=10 ){
str[ i ] = number / k + '0';
number = number % k;
}
이런것도 가능하겠네요.
막 친거라 약간 버그가 있을 순 있는데, 대강 흐름은 아실겁니다.
int str[3] -> char str[3]
printf("%d %d %d %d %d",i,str[0],str[1],str[2],str[3]); -> printf("%d %c %c %c %c",i,str[0],str[1],str[2],str[3]);
바뀌어야 하고, 문자열은 마지막에 '\n'이 추가로 더 들어가기 때문에,
지금같은 경우는 2글자이하만 넣어야 할겁니다. 3글자넣으면 에러날듯..
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp 지나치게 큰 이미지의 크기는 조정될 수 있습니다.
sprintf(buf, "%d", i);
sprintf( str, "%d", number );
좀 더 프로그래밍적인 방법으로는,
int i = 0;
while( number != 0 ){
str[ i ] = number % 10 + '0';
number /= 10;
i++;
}
strrev( str );
다른 방법으로는
int k = 1, t = number;
while( t != 0 ){ t /= 10; k*=10 };
for( int i = k / 10; i >0; i/=10 ){
str[ i ] = number / k + '0';
number = number % k;
}
이런것도 가능하겠네요.
막 친거라 약간 버그가 있을 순 있는데, 대강 흐름은 아실겁니다.
{
int str[3];
int i;
scanf("%d" , &i);
sprintf(str, "%d",i);
printf("%d %d %d %d %d",i,str[0],str[1],str[2],str[3]);
} 이렇게 해봤는데 뭐가 문제가 잇는 걸까요??
아 자고싶어용 ㅜㅜ
printf("%d %d %d %d %d",i,str[0],str[1],str[2],str[3]); -> printf("%d %c %c %c %c",i,str[0],str[1],str[2],str[3]);
바뀌어야 하고, 문자열은 마지막에 '\n'이 추가로 더 들어가기 때문에,
지금같은 경우는 2글자이하만 넣어야 할겁니다. 3글자넣으면 에러날듯..