#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개부터 이러는거냐
atoi 를쓰면 저게 정수에요 그런데 정수는 2^32승밖에저장을못하는데 10자가넘어가면 정수표현범위를 넘어가서 출력이안되는거에요 ㅋㅋ
배정밀도라고하죠
그러니 스트링 10개씩끊어서 atoi해서 다시출력해주시길 ㅋㅋ 다른방법써도되고요
아ㅏㅏㅏㅏㅏㅏㅏㅏ갑갑했던게 탁트이네 한수배우고감 ㄳㄳ
아그리고 ㅋㅋㅋ 배정밀도는 틀린말 ㅎ[ㅔㅅ갈림