문자열의 숫자변환 및 합구하기 질문입니다.
-적당한 길이의 문자열을 입력받는다.
-그 안에 존재하는 숫자들의 총 합을 계산한다.
예) 입력받은 문자열이 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;
}
근데 이게 아닌것 같더라구요. 어떻게 고쳐야 되는지 모르겠습니다.
알려주세요^^
비 2026.05.15
str은 문자열을 저장하고 있습니다.. 문자열이라는 것은 특수 문자 숫자 영어로 알파벳이지요 지금은
유니코드(영어가 딸려서리)로서 더 넓은 코드를 쓰고 있지만 기본은 ...
strlen만큼 돌면서 숫자를 구분하기 위해서 아스키코드 48에서57이 나왔네요
이면 숫자이니 구분해서 더하든 빼든 맘대로....요
쥬디시어스 2026.05.15
atoi 함수는 문자를 하나씩 변환시켜는것이 아닌 숫자가 아닌 값을 만날때까지 진행되는것으로 알고 있습니다. 2311 이라면.. 2,3,1,1 이 아니라 \이천삼백십일\로 정수화 시킵니다.