#include <stdio.h>
int main(void)
{
char num[50], t;
int n, i,a,b;
i = 1;
printf("문자열로 바꾸어 출력할 정수를 입력하시오 -->");
scanf_s("%d", &n);
if (n >= 0) a = n; //양수이면 그대로 변수 a
else a = -n; // 음수이면 -a
do
{
num[i] = '0' + (a % 10);
i++;
} while (a /= 10); //a를 10으로 나눠 몫이 0이 될때까지 나누면서 나머지를 배열에 저장 문자로
if (n < 0)
{
num[i] = '-';
i++;
} // 입력된수가 음수이면 -추가
num[0] = '\0'; //문자열끝 null문자
for (i; i >= 0; i--)
{
printf("%s", num[i]); //순서변경
}
return 0;
}
돌려보면 cmd에서 숫자입력하면 터져버림
미천하지만 %s 로 왜 출력하는지 전 이해가안가네요 ㅎㅎ 1문자씩 출력하는데 %c를 써야 맞는거 아닌가요 거기다 끝에서부터 출력하는것같은데 맨끝에는 왜 배열에 음수일경우 -를 붙여놓고 i를 1개 더 증가시키는지? 주소를? 그러고 보니 위에도똑같네 인덱스에 값이 초기화되어있지않으면 이상한거 출력되지않나 처음에 즉 num[5]까지 넣어두고 num[6]부터 출력한달까..
내말이 맞는지 틀린지 나도 모름 걍 한번 쓱보고 느낀점썻음