문자열의 숫자변환 및 합구하기 질문
미르
2023.04.01
문자열의 숫자변환 및 합구하기 질문입니다.
-적당한 길이의 문자열을 입력받는다.
-그 안에 존재하는 숫자들의 총 합을 계산한다.
예) 입력받은 문자열이 ab15fe43이라고 하면
1+5+4+3=13이므로 13을 출력해준다.제가 짠 소스
int main(void)
{
char str[10];
int i;
int result=0;
fgets(str, sizeof(str), stdin);
for(i=0;istrlen(str);i++){
result += atoi(&(*(str+i)));
}
printf(%d, result);
return 0;
}
근데 이게 아닌것 같더라구요. 어떻게 고쳐야 되는지 모르겠습니다.
알려주세요^^
-
나리
str은 문자열을 저장하고 있습니다.. 문자열이라는 것은 특수 문자 숫자 영어로 알파벳이지요 지금은
유니코드(영어가 딸려서리)로서 더 넓은 코드를 쓰고 있지만 기본은 ...
strlen만큼 돌면서 숫자를 구분하기 위해서 아스키코드 48에서57이 나왔네요
이면 숫자이니 구분해서 더하든 빼든 맘대로....요 -
츄릅
atoi 함수는 문자를 하나씩 변환시켜는것이 아닌 숫자가 아닌 값을 만날때까지 진행되는것으로 알고 있습니다. 2311 이라면.. 2,3,1,1 이 아니라 \이천삼백십일\로 정수화 시킵니다.