#include<stdio.h>

#include<string.h>

#include<stdlib.h>


void OnlyNumber(char*st)

{

int n=0, m=0;

while(st[n] != 0)

{

if(st[n]>='0' && st[n]<='9')

{

st[m]=st[n];

m++;

}

else

   st[n]=0;

n++;

}

}


int main(void)

{

char str[50];

printf("입력해");

gets(str);

puts(str);

OnlyNumber(str);

printf("%d", atoi(str));

return 0;

}








대충 입력받은 문자열을 한번출력하고 


입력받은 문자열에서 정수만 골라서 재저장한다음 다시 출력하는 프로그램인데

이게 문자갯수랑 상관없이 숫자가 10개이상 입력되면 자꾸 이상한 숫자가 반환된다 


9개까지는 확실히 되는데 왜 10개부터 이러는거냐