728x90
#include<stdio.h>
#include<conio.h>
int GetTen(int N)
// 10의 N승 구하여 돌려주는 함수
{
int a;
int s=1;
for(a=1;a<=N;a++)
s=s*10;
return(s);
}
int Atoi(
char *ap) // 문자열을 이용하여 정수 값을 돌려주는 함수
{
int a;
int
N=0;
int s=0;
for(a=0;ap[a];a++, N++); // N= strlen(ap); 를 대신하여
만듬
for(a=0;a<N;a++)
s=s+(ap[a]-48)*GetTen(N-a-1);
<<---이 부분 (ap[a]-48) 이게 이해가 되질 않습니다.
return(s);
}
void
main()
{
char M[ ]="12";
char N[ ]="456";
int t;
t=
Atoi(M) + Atoi(N) ;
printf("%s+%s=%d\n", M, N, t); // 12+456=468
}
atoi라는 함수를 제가 직접 짜보는 문제입니다.
왜 48을 빼야되는건지 자세히 설명해주시면 감사하겠습니다.
======================================
숫자만 거슬리는가? 다른 부분도 지적할 것들을 찾아보는 것은 어떨지..
728x90
'Programming > 내가남긴답변들' 카테고리의 다른 글
내컴퓨터 RAM이 480MB라고? Windows Maxram 480 오류 (0) | 2011.03.18 |
---|---|
평면을 적분하면 왜 부피가 되죠?? 즉 평면을쌓으면 왜 부피가 되냐는 말입니다 (0) | 2008.03.03 |
소주병 뚜껑의 임의의 숫자맞히는 게임? (2) | 2008.03.03 |
C++ 쉬운거에요~ 알려주세요 (0) | 2008.03.03 |
return 0의 의미는? (0) | 2008.03.02 |
컴퓨터 시작화면에 이상한 창이 뜹니다. (0) | 2008.03.02 |
CMOS비밀번호 문제 (0) | 2008.03.02 |
윈도xp 부팅시 암호입력후에 이런글이 뜹니다 그리고 멈춰버립니다 해결책바랍니다 (0) | 2008.03.02 |
자꾸 이런 게 뜨는데, 이게 뭐가 잘 못된거예요? (0) | 2008.03.02 |
C 언어에서 pointer 기초 질문..^^;; (0) | 2008.03.02 |